Search code examples
pythonopencvcamera

How to make a virtual camera with python?


I am experimenting with openCV in python and I made a simple webcam that will only show you in black and white but I was wondering if it was possible to somehow connect it to discord so whenever I call a friend he sees me in black and white.`

import cv2

capture = cv2.VideoCapture(0)

 capture.set(3, 640)
 capture.set(4, 480)
 capture.set(10, 300)

 while True:
     sucess, img = capture.read()
     img = cv2.Canny(img, 100, 100)
     cv2.imshow("Webcam", img)
     if cv2.waitKey(1) & 0xFF == ord('q'):
         break

Solution

  • This may be late but check this out pyvirtualcam

    install it first:

    pip install pyvirtualcam
    

    You can make it like this:

    import pyvirtualcam
    import numpy as np
    
    with pyvirtualcam.Camera(width=1280, height=720, fps=30) as cam:
        while True:
            frame = np.zeros((cam.height, cam.width, 4), np.uint8) # RGBA
            frame[:,:,:3] = cam.frames_sent % 255 # grayscale animation
            frame[:,:,3] = 255
            cam.send(frame)
            cam.sleep_until_next_frame()