CG effects used in movies use blue-screen as the background, for easy background removal, leaving the human actors playing in a white construct, whose background could then be replaced with a surreal one.
Could similar effects be created, on a continuous basis, using OpenCV ? Only challenge added to the mix is that while the background is relatively static, it is not a uniform blue-screen, rather the lighting conditions may vary from time-to-time and camera artefacts or very slight background variation (s.a. due to a window curtain flying gently due to a draft).