Python OpenCV access webcam maximum resolution

前端 未结 6 1617
栀梦
栀梦 2020-12-16 12:44

I am trying to acquire images from my webcam using a python code that imports OpenCV. The code is the following:

import sys
sys.path.append(\"C:\\\\opencv\\         


        
6条回答
  •  借酒劲吻你
    2020-12-16 13:11

    The problem as mentioned above is caused by the camera driver. I was able to fix it using Direct Show as a backend. I read (sorry, but I do not remember where) that almost all cameras provide a driver that allows their use from DirectShow. Therefore, I used DirectShow in Windows to interact with the cameras and I was able to configure the resolution as I wanted and also get the native aspect ratio of my camera (16: 9). You can try this code to see if this works for you.

    import cv2
    
    cam = cv2.VideoCapture(0,cv2.CAP_DSHOW)
    
    cap.set(cv2.CAP_PROP_FRAME_WIDTH, 1280)
    cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 720)
    
    r, frame = cam.read()
    ...
    print('Resolution: ' + str(frame.shape[0]) + ' x ' + str(frame.shape[1]))
    

    In the OpenCV documentation, I found the following information for those who want to know more about OpenCV backends (OpenCV docs)

    I hope this can help you!

提交回复
热议问题