Fills masked holes in a frame with classical OpenCV inpainting: it takes a source Image and a same-size mask Image and emits the repaired Image, choosing Fast Marching or Navier-Stokes. Best for small scratches, logos, or thin watermarks.
Typical backends
Logo or watermark removal — threshold the source into a hole mask, fill it, publish.
Scratch repair — grow the thresholded mask with morphology before filling.
Caveats
- FallbackWhen the mask is empty or its dimensions do not match the source, the frame is logged and passed through unchanged rather than failing, so a missing or mis-sized mask silently disables inpainting for that tick instead of tearing down the stream.
- I/O contractExactly one
Image is emitted per tick; an empty source frame is returned unchanged without even examining the mask. - I/O contractThe mask is converted to greyscale and every non-zero pixel is treated as a hole, so anti-aliased or soft mask edges enlarge the region that gets filled; the output keeps the source's original colour space.
- Parameter interactionThe method knob selects between the sharper Fast Marching reconstruction and the smoother Navier-Stokes one, while the radius sets how wide a neighbourhood is blended — larger values smooth more at higher CPU cost, and values below the floor are clamped up.
- AccuracyThese are diffusion-based classical fills, not generative; they reconstruct from surrounding pixels well for thin defects but cannot hallucinate large or textured missing content.
- State lifetimeBoth knobs bind once at startup, so changing the method or radius requires a redeploy.