main.py 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. # Imports
  2. import cv2
  3. import pyvirtualcam
  4. from pyvirtualcam import PixelFormat
  5. from utils import handsutils
  6. import platform
  7. def main():
  8. # Start video capture and set defaults
  9. device_val = None
  10. cap = cv2.VideoCapture(0)
  11. pref_width = 1280
  12. pref_height = 720
  13. pref_fps = 30
  14. cap.set(cv2.CAP_PROP_FRAME_WIDTH, pref_width)
  15. cap.set(cv2.CAP_PROP_FRAME_HEIGHT, pref_height)
  16. cap.set(cv2.CAP_PROP_FPS, pref_fps)
  17. width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
  18. height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
  19. fps = cap.get(cv2.CAP_PROP_FPS)
  20. os = platform.system()
  21. if os == "Linux":
  22. device_val = "/dev/video2"
  23. with pyvirtualcam.Camera(width, height, fps, device=device_val, fmt=PixelFormat.BGR) as cam:
  24. print('Virtual camera device: ' + cam.device)
  25. while True:
  26. success, img = cap.read()
  27. cropped_img = img[0:720, 0:400]
  28. img = handsutils.mediapipe_gestures(img, cropped_img)
  29. img = cv2.resize(img, (1280, 720))
  30. cam.send(img)
  31. cam.sleep_until_next_frame()
  32. if __name__ == '__main__':
  33. """
  34. Main Function
  35. """
  36. main()