GreenBG Remover

What are you supposed to do when you can't reshoot it on a green screen?

You don't have to reshoot it, but you do have to key the backdrop you already have — and that only works when the gap between that backdrop and the nearest part of your subject is wider than the backdrop's own spread. On the white-on-white frame measured here those two numbers are 0.043 and 0.061, so no setting clears both: the first similarity that takes the backdrop to 0.00% also deletes 23.6% of the product. What worked without moving the camera was changing what sits behind it — a blue sheet lifts the gap to 0.096, black velvet to 0.258 — or dropping Smoothness to 0, which buys back 19.6 points of tolerance.

What "can't reshoot" actually takes away from you

Once the file is somebody else's, the lighting, the backdrop, the camera and the subject-to-cloth distance are all fixed. What is still yours is the reading of that file. This tool takes any key colour you type in, or any pixel you click with the eyedropper, and its seven presets run from studio green #00B140 and blue #0047BB to White #FFFFFF and Black #000000. There are four sliders, an AI subject mode, and three background tabs.

There is no luma key here. Black is not a luminance threshold, it is a key colour at (0,0,0) measured with the same distance as any other. So the wrong backdrop is not the end of the job — it is the start of a measurement, and the measurement is two numbers.

The test that decides it: spread versus gap

Tolerance is similarity divided by 200, and the soft knee is smoothness times 0.0035, sitting symmetrically either side of it: closer than tol minus soft is fully removed, further than tol plus soft is untouched. Call S the largest distance from your key colour to any pixel of the lit backdrop — its own spread, from vignette and falloff — and D the smallest distance from that key to any pixel of the subject. A usable setting exists only when S plus soft is not more than D minus soft.

At the default smoothness of 14 that means D minus S has to reach 0.098, and the working range is similarity between 200 times (S plus 0.049) and 200 times (D minus 0.049). Pull Smoothness to 0 and the requirement collapses to D being larger than S, which widens the range by 19.6 points. It is the cheapest thing to try, and on two of the eight backdrops below it is the only reason any setting works.

Eight backdrops you might already have, measured

The frame is 900 by 600, 4x4 supersampled: a white ceramic jar with a grey cap and a blue label, its own shading running luma 53 to 237. Each backdrop is keyed on its own mean colour. White sweep #F4F3F1: S 0.061, D 0.043. Light grey wall #C5C5C3: S 0.045, D 0.000. Mid grey wall #7A7A7B: S 0.027, D 0.004. Overcast sky #C4CBD3: S 0.048, D 0.021. All four fail — at every setting, at every smoothness.

The other four work. Charcoal #2D2D2D: S 0.012, D 0.057, usable only with Smoothness at 0 and similarity 7. Black velvet #0F0F10: S 0.007, D 0.258, usable at the default smoothness from 11 to 42. Blue paper #2553A3: S 0.024, D 0.096, usable at Smoothness 0 from 5 to 19. Green screen #00AC3E: S 0.025, D 0.484, usable from 15 to 87. At similarity 26 on black velvet and 51 on green, the backdrop clears to 0.00% and the product loses nothing.

Why the neutral ones lose: distance includes brightness

Distance is measured in normalized RGB, each channel divided by 255, so brightness counts as much as hue. The product's own shading sweeps from luma 53 to 237, which means it passes through every neutral tone in between, and any grey backdrop inside that band is a pixel of the product as far as this keyer is concerned. That is why four neutral backdrops fail identically.

Which part kills it changes with the backdrop: on the light grey wall the nearest thing is the ceramic body at 0.000, on the mid grey wall the grey cap at 0.004, on the overcast sky the blue label at 0.021. One part decides the whole key, and it is never the one you were looking at. Spill suppression and despill cannot reach any of it — both act only where green is the largest channel, which on these four backdrops is 0.0% of the frame's pixels, against 90.1% on the green screen.

What worked without moving the camera

Put something saturated behind the product. A blue sheet takes D from 0.043 to 0.096 against a spread of 0.024, and at Smoothness 0 with similarity 12 the backdrop clears to 0.00% with nothing lost. A green sheet does better: D 0.484, usable from 15 to 87 at the default smoothness, clean at similarity 51. Asking whoever still has the product to lay a sheet of coloured paper behind it for one more frame is not a reshoot.

Or take the backdrop to near-black. Black velvet gives D 0.258 and works at the default smoothness; charcoal at 46 works only with Smoothness at 0 and similarity 7. Both are cases where the backdrop has dropped below the darkest part of the product rather than sitting inside it.

One thing survives all of these: the contact shadow. It sits further out again, 0.135 from the key on the blue sheet and 0.29 on the white sweep, so at every setting that keeps the product it stays as a grey smudge — 56.8% of it on the blue sheet, 52.5% on the charcoal. Only the green screen and black velvet cleared it here.

Three fixes that measured as no help

Dimming the sweep does not rescue it. One stop down the key is #B3B2B1 and D is 0.006; two stops, #828281 and 0.006; three, #5E5E5D and 0.007; four, #434342 and 0.007. Dimming walks the backdrop down through the product's own tonal band instead of out of it, and the grey cap alone reaches luma 53. You end up having to go to black, which is the previous fix under a harder name.

The eyedropper does not rescue it either, because it reads one pixel and where you click sets both numbers. Brightest part of the sweep: S 0.102, D 0.084. The mean: 0.061 and 0.043. Darkest corner: 0.095 and 0.000. Every one has S larger than D — there is no pixel on that backdrop that makes the job possible. And widening tolerance only trades failures: at similarity 4 the product is intact with 17.5% of backdrop left, at 20 the backdrop is gone with 23.6% of the product gone, at 42 it is 35.7%.

Where AI subject mode fits, and when not to remove it at all

AI subject mode is a union, not a replacement: the code writes the larger of the two alphas per pixel and the chroma key always runs first, so it adds opacity but never removes background. For leftover background that is useless, but the failure here is the opposite one. On the white sweep at the default similarity of 42 the key deletes 35.7% of the jar, all of it the lit side: 85.9% of pixels between luma 200 and 235, and 100% above 235. With an exact subject mask the union puts all of it back — subject loss 0.00%, backdrop still 0.00%, edge error 0.316 down to 0.260.

Two things can take that away. The mask is discarded if it covers under 1% of the frame, and the model behind it is MediaPipe Selfie Segmentation, a people model: on a ceramic jar it may find nothing, and the code hands you the chroma result back silently with the product still eaten.

And there is one option nobody offers: don't remove it. If the brief can live with the backdrop you already have, pick Colour in the background tabs and export flattened — the composite fills a solid colour and draws the result over it, the file carries no alpha, and nothing downstream can disagree about what is behind your product. Insisting on transparency here costs 23.6% of it at the first setting that clears the background, and more from there.

Related questions

How do I know whether the backdrop in my photo is keyable?

Read off two distances using the backdrop's own mean colour as the key. S is the furthest any lit backdrop pixel sits from it, D is the closest any part of your subject comes to it. If D minus S is under 0.098, no setting works at the default smoothness of 14; set Smoothness to 0 and you only need D to be larger than S. On the white-on-white frame measured here, S is 0.061 and D is 0.043.

Can this tool key a white background instead of a green one?

Yes — the colour input takes any hex, the eyedropper samples any pixel, and there is a White preset alongside the green and blue ones. It succeeds only when your subject never gets as bright as the backdrop does. Here the jar's highlight lands 0.043 from the key while the backdrop's own vignette spans 0.061, so every setting either leaves backdrop or takes product.

Does AI subject mode replace the chroma key when the backdrop is the wrong colour?

No. It takes the larger of the two alphas per pixel and the chroma key always runs first, so it can add opacity but never remove background. It rescued this frame only because the failure was over-deletion — 35.7% of the jar lost, put back to 0.00% — and it does nothing when the failure is background left behind.

What should I ask for if I can't ask for a reshoot?

Ask for one narrow thing instead of a new shoot. A second frame with the product taken away and the camera locked gives you a difference matte, which needs no green anywhere. Or one more frame with a coloured sheet laid behind the product: measured here, a blue sheet lifts the gap from 0.043 to 0.096 and keys with zero loss.

Open the green screen remover