{"course":{"slug":"ai-images","title":"Image Generation, in Practice","url":"https://addaly.com/learn/ai-images","level":"beginner","track":"create"},"lesson":{"slug":"edges-and-halos","title":"The fault the client sees on a big screen","url":"https://addaly.com/learn/ai-images/edges-and-halos","position":50,"of":69,"minutes":8,"answer":"A composite or repair fails at its boundary, and the three specific faults (colour contamination, a bright or dark halo, and over-feathering) each have a distinct cause and a distinct fix.","keyIdea":"A composite or repair fails at its boundary, and the three specific faults (colour contamination, a bright or dark halo, and over-feathering) each have a distinct cause and a distinct fix."},"body":{"format":"markdown","text":"## Why edges matter more than anything else\n\nAn edge is where two things meet, and it is where the eye goes. A perfect cutout with a one-pixel white fringe reads as a cutout instantly. A beautifully repaired hand with a visible ring around the repair reads as a repair.\n\nAnd edges are the fault that survives review. You look at the image at 66% on a laptop; the client opens it at 100% on a large monitor in a meeting. The halo you could not see is a line they can.\n\n## Fault one: colour contamination\n\nCut a dark-haired subject out of a bright green background and the hair edge retains green pixels. Place them on a warm background and there is a green rim.\n\nThe cause is real: at the boundary, individual pixels contain a mixture of subject and background, because that is what happened at the sensor. A binary mask cannot separate what is physically blended.\n\nFixes, in order of preference:\n\n- **Decontaminate colours**: GIMP's Foreground Select offers this, and it estimates and removes the background contribution from edge pixels. Use it whenever it is available.\n- **Shrink the selection by 1 pixel** before cutting. Crude, loses a little of the subject, works.\n- **Paint it out** on a duplicated layer clipped to the subject, using a soft brush in Colour mode sampling from the adjacent correct hue.\n- **Reshoot against a neutral background** if the subject is yours to reshoot. Grey or white contaminates far less visibly than green or blue.\n\n## Fault two: the halo\n\nA bright or dark line following the boundary. Two distinct causes, needing different fixes.\n\n**From sharpening.** Unsharp masking increases contrast at edges, which by construction creates a light band on one side and a dark band on the other. Overdone, it is visible as a halo. The fix is less sharpening, and sharpening last on the flattened file with a small radius: 0.5 to 1 pixel for screen output.\n\n**From upscaling.** Some upscalers produce ringing at high-contrast boundaries. The fix is a different upscaler, or masking the artefacted areas and repairing them.\n\nDistinguish them by looking at whether the halo appears on all high-contrast edges in the image, which indicates sharpening or upscaling, or only around your composited element, which indicates a masking problem.\n\n## Fault three: over-feathering\n\nThe opposite failure. Feather a mask by 20 pixels to avoid a hard edge and you get a soft, blurry boundary that looks like a badly cut sticker.\n\nCorrect feathering depends on what the edge is:\n\n- **A hard object edge**: a bottle, a box, architecture: 0.5 to 1 pixel. Almost none.\n- **A soft edge**: hair, fur, fabric in motion: 2 to 4 pixels, plus proper edge work.\n- **A repaired region blending into similar texture**: 8 to 20 pixels is fine, because there is no real boundary to preserve.\n\nThe common error is applying a single feather value everywhere. A cut-out product needs a sharp edge and its shadow needs a very soft one; they are different masks.\n\n## Checking properly\n\nThree tests, ninety seconds:\n\n1. **Zoom to 200%** and trace the entire boundary. Slow, and it is the only way to be sure.\n2. **Contrast test.** Duplicate the flattened image, apply extreme Curves contrast, and look. Halos and contamination jump out.\n3. **Background swap.** Put a mid-grey layer behind a cutout, then a saturated one. Edge faults invisible against the intended background are obvious against a contrasting one.\n\n## The one that is not a mistake\n\nSome edge softness is correct and should be left alone. A real photograph has softness at edges from depth of field, motion and the lens itself. A subject cut out with a surgically perfect edge and placed into a scene with natural softness will look *too* sharp, and that reads as fake just as strongly as a halo.\n\nSo match the edge to its context. If the scene's other edges at that depth are slightly soft, yours should be too. This is the same principle as the previous lesson (the two sources must agree) applied at the boundary rather than across the surface.\n\nIt also means an edge can be technically perfect and still wrong for the image, which is the sort of thing that separates people who have done this for a while from people who are following a checklist. The checklist gets you to competent. Looking at what the rest of the photograph is doing gets you past it."},"check":{"question":"A cut-out subject shows a faint light line along its entire boundary, and the same line appears on other high-contrast edges elsewhere in the image. What is the cause?","options":[{"text":"Colour contamination from the original background surviving in the partially blended edge pixels of the cutout.","correct":false,"tempting":"Contamination takes the colour of the old background and appears only on the cut element, not on unrelated edges elsewhere in the frame."},{"text":"The mask was feathered too little, leaving a hard boundary that the eye reads as a bright line against the darker surrounding content.","correct":false,"tempting":"Insufficient feathering gives a hard, jagged edge rather than a light band, and it would not affect edges the mask never touched."},{"text":"Sharpening or upscaling applied to the whole image, which raises contrast at every boundary and produces a light band on one side.","correct":true},{"text":"The composited layer's blend mode is lightening the pixels beneath it around the boundary, where the layer's alpha value falls between fully opaque and fully transparent.","correct":false,"tempting":"A blend-mode fault is confined to the composited layer, so it cannot explain the same artefact on edges that were part of the original background."}]},"prev":{"slug":"matching-grain-and-optics","title":"Making two sources agree","url":"https://addaly.com/learn/ai-images/matching-grain-and-optics"},"next":{"slug":"tiling-and-large-canvases","title":"Getting to poster size without a second horizon","url":"https://addaly.com/learn/ai-images/tiling-and-large-canvases"},"authorship":"Founder and series editor: Dr Mustafa Mun. Written by AI models to a written standard. Exam keys checked blind by a second model: 3,665 of 3,666 agreed. Academic review invited.","review":{"status":"Draft, open for academic review"},"cite":"Addaly (2026) 'The fault the client sees on a big screen', in Image Generation, in Practice. Edited by M. Mun. Addaly. Available at: https://addaly.com/learn/ai-images/edges-and-halos (Accessed: 13 October 2026).","licence":{"name":"CC BY-NC-SA 4.0","url":"https://creativecommons.org/licenses/by-nc-sa/4.0/"},"reader":{"schema":1,"title":"The fault the client sees on a big screen","courseTitle":"Image Generation, in Practice","module":{"index":5,"slug":"repair-and-extend","title":"Repair, extend, assemble"},"answer":null,"keyIdea":"A composite or repair fails at its boundary, and the three specific faults (colour contamination, a bright or dark halo, and over-feathering) each have a distinct cause and a distinct fix.","hero":{"kind":"plate","image":null,"alt":null,"caption":null},"blocks":[{"t":"h2","id":"why-edges-matter-more-than-anything-else","runs":[{"text":"Why edges matter more than anything else"}]},{"t":"p","runs":[{"text":"An edge is where two things meet, and it is where the eye goes. A perfect cutout with a one-pixel white fringe reads as a cutout instantly. A beautifully repaired hand with a visible ring around the repair reads as a repair."}]},{"t":"p","runs":[{"text":"And edges are the fault that survives review. You look at the image at 66% on a laptop; the client opens it at 100% on a large monitor in a meeting. The halo you could not see is a line they can."}]},{"t":"h2","id":"fault-one-colour-contamination","runs":[{"text":"Fault one: colour contamination"}]},{"t":"p","runs":[{"text":"Cut a dark-haired subject out of a bright green background and the hair edge retains green pixels. Place them on a warm background and there is a green rim."}]},{"t":"p","runs":[{"text":"The cause is real: at the boundary, individual pixels contain a mixture of subject and background, because that is what happened at the sensor. A binary mask cannot separate what is physically blended."}]},{"t":"p","runs":[{"text":"Fixes, in order of preference:"}]},{"t":"ul","items":[[{"text":"Decontaminate colours","b":true},{"text":": GIMP’s Foreground Select offers this, and it estimates and removes the background contribution from edge pixels. Use it whenever it is available."}],[{"text":"Shrink the selection by 1 pixel","b":true},{"text":" before cutting. Crude, loses a little of the subject, works."}],[{"text":"Paint it out","b":true},{"text":" on a duplicated layer clipped to the subject, using a soft brush in Colour mode sampling from the adjacent correct hue."}],[{"text":"Reshoot against a neutral background","b":true},{"text":" if the subject is yours to reshoot. Grey or white contaminates far less visibly than green or blue."}]]},{"t":"h2","id":"fault-two-the-halo","runs":[{"text":"Fault two: the halo"}]},{"t":"p","runs":[{"text":"A bright or dark line following the boundary. Two distinct causes, needing different fixes."}]},{"t":"p","runs":[{"text":"From sharpening.","b":true},{"text":" Unsharp masking increases contrast at edges, which by construction creates a light band on one side and a dark band on the other. Overdone, it is visible as a halo. The fix is less sharpening, and sharpening last on the flattened file with a small radius: 0.5 to 1 pixel for screen output."}]},{"t":"p","runs":[{"text":"From upscaling.","b":true},{"text":" Some upscalers produce ringing at high-contrast boundaries. The fix is a different upscaler, or masking the artefacted areas and repairing them."}]},{"t":"p","runs":[{"text":"Distinguish them by looking at whether the halo appears on all high-contrast edges in the image, which indicates sharpening or upscaling, or only around your composited element, which indicates a masking problem."}]},{"t":"h2","id":"fault-three-over-feathering","runs":[{"text":"Fault three: over-feathering"}]},{"t":"p","runs":[{"text":"The opposite failure. Feather a mask by 20 pixels to avoid a hard edge and you get a soft, blurry boundary that looks like a badly cut sticker."}]},{"t":"p","runs":[{"text":"Correct feathering depends on what the edge is:"}]},{"t":"ul","items":[[{"text":"A hard object edge","b":true},{"text":": a bottle, a box, architecture: 0.5 to 1 pixel. Almost none."}],[{"text":"A soft edge","b":true},{"text":": hair, fur, fabric in motion: 2 to 4 pixels, plus proper edge work."}],[{"text":"A repaired region blending into similar texture","b":true},{"text":": 8 to 20 pixels is fine, because there is no real boundary to preserve."}]]},{"t":"p","runs":[{"text":"The common error is applying a single feather value everywhere. A cut-out product needs a sharp edge and its shadow needs a very soft one; they are different masks."}]},{"t":"h2","id":"checking-properly","runs":[{"text":"Checking properly"}]},{"t":"p","runs":[{"text":"Three tests, ninety seconds:"}]},{"t":"ol","start":1,"items":[[{"text":"Zoom to 200%","b":true},{"text":" and trace the entire boundary. Slow, and it is the only way to be sure."}],[{"text":"Contrast test.","b":true},{"text":" Duplicate the flattened image, apply extreme Curves contrast, and look. Halos and contamination jump out."}],[{"text":"Background swap.","b":true},{"text":" Put a mid-grey layer behind a cutout, then a saturated one. Edge faults invisible against the intended background are obvious against a contrasting one."}]]},{"t":"h2","id":"the-one-that-is-not-a-mistake","runs":[{"text":"The one that is not a mistake"}]},{"t":"p","runs":[{"text":"Some edge softness is correct and should be left alone. A real photograph has softness at edges from depth of field, motion and the lens itself. A subject cut out with a surgically perfect edge and placed into a scene with natural softness will look "},{"text":"too","i":true},{"text":" sharp, and that reads as fake just as strongly as a halo."}]},{"t":"p","runs":[{"text":"So match the edge to its context. If the scene’s other edges at that depth are slightly soft, yours should be too. This is the same principle as the previous lesson (the two sources must agree) applied at the boundary rather than across the surface."}]},{"t":"p","runs":[{"text":"It also means an edge can be technically perfect and still wrong for the image, which is the sort of thing that separates people who have done this for a while from people who are following a checklist. The checklist gets you to competent. Looking at what the rest of the photograph is doing gets you past it."}]}],"check":{"question":[{"text":"A cut-out subject shows a faint light line along its entire boundary, and the same line appears on other high-contrast edges elsewhere in the image. What is the cause?"}],"options":[{"text":[{"text":"Colour contamination from the original background surviving in the partially blended edge pixels of the cutout."}],"correct":false,"tempting":[{"text":"Contamination takes the colour of the old background and appears only on the cut element, not on unrelated edges elsewhere in the frame."}]},{"text":[{"text":"The mask was feathered too little, leaving a hard boundary that the eye reads as a bright line against the darker surrounding content."}],"correct":false,"tempting":[{"text":"Insufficient feathering gives a hard, jagged edge rather than a light band, and it would not affect edges the mask never touched."}]},{"text":[{"text":"Sharpening or upscaling applied to the whole image, which raises contrast at every boundary and produces a light band on one side."}],"correct":true,"tempting":null},{"text":[{"text":"The composited layer’s blend mode is lightening the pixels beneath it around the boundary, where the layer’s alpha value falls between fully opaque and fully transparent."}],"correct":false,"tempting":[{"text":"A blend-mode fault is confined to the composited layer, so it cannot explain the same artefact on edges that were part of the original background."}]}],"order":[1,2,0,3],"why":null},"prev":{"slug":"matching-grain-and-optics","title":"Making two sources agree","minutes":8},"next":{"slug":"tiling-and-large-canvases","title":"Getting to poster size without a second horizon","minutes":8}}}