I am performing a basic test:
- Set up a fully red (255, 0, 0) scene in OBS
- Start the OBS virtual camera
- Capture this virtual camera and show the image
The issue I see is: Pixel colors are approximately (230, 0, 0), also in the preview window. This seems far off from the expected value.
The virtual camera color output is NV12 so there is color conversion going on. The color is correct if I open the virtual camera in VLC.
Code is just like this:
import cv2 as cv
vid = cv.VideoCapture(0)
while True:
ret, frame = vid.read()
cv.imshow('frame', frame)
if cv.waitKey(1) == ord('q'):
break
vid.release()
cv.destroyAllWindows()
What could cause the color to be this far off from the original?