有关在windows 下opencv 设置摄像头分辨率后,读取的视频信息依旧存在显示失真问题:
设置之前 读取显示画面 依旧有问题,代码如下:
camera = cv2.VideoCapture(0, cv2.CAP_DSHOW)
camera.set(cv2.CAP_PROP_FOURCC, cv2.VideoWriter.fourcc(‘M’, ‘J’, ‘P’, ‘G’))
camera.set(cv2.CAP_PROP_FRAME_WIDTH, 1920)
camera.set(cv2.CAP_PROP_FRAME_HEIGHT, 1080)
f = camera.get(cv2.CAP_PROP_FPS)
w = camera.get(cv2.CAP_PROP_FRAME_WIDTH)
h = camera.get(cv2.CAP_PROP_FRAME_HEIGHT)
修改代码后 读取显示画面没有问题,代码如下:
camera = cv2.VideoCapture(0, cv2.CAP_DSHOW)
camera.set(cv2.CAP_PROP_FRAME_WIDTH, 1920)
camera.set(cv2.CAP_PROP_FRAME_HEIGHT, 1080)
f = camera.get(cv2.CAP_PROP_FPS)
w = camera.get(cv2.CAP_PROP_FRAME_WIDTH)
h = camera.get(cv2.CAP_PROP_FRAME_HEIGHT)
camera.set(cv2.CAP_PROP_FOURCC, cv2.VideoWriter.fourcc(‘M’, ‘J’, ‘P’, ‘G’))
需要将 camera.set(cv2.CAP_PROP_FOURCC, cv2.VideoWriter.fourcc(‘M’, ‘J’, ‘P’, ‘G’)) 写在 camera.set(cv2.CAP_PROP_FRAME_WIDTH, 1920)
camera.set(cv2.CAP_PROP_FRAME_HEIGHT, 1080)
后