我的网络摄像头在OpenCV Python中使用未压缩的YUYV编解码器有问题,这使得我的帧速率非常糟糕 . 我想将编解码器设置为MJPG,但我似乎无法弄清楚如何 . 这是我尝试过的(以及它的变化)
import cv2 #Opencv 3.1.0
import numpy as np
vid = cv2.VideoCapture(0)
vid.set(6, cv2.CV_FOURCC('M','J', 'P', 'G'))#Should set the codec, but it doesn't
while True:
_, img = vid.read()
cv2.imshow('image', img)
k = cv2.waitKey(5) & 0xFF
if k == 27:
break
vid.release()
cv2.destroyAllWindows()
当我运行它时,我得到cv2没有CV_FOURCC的属性 . I have been using this as a reference,但它并没有真正解释我在 vid.set()
中输入 6
之后应该传递的内容 . 我有cv2.CV_FOURCC,但我猜这就是它想要的 . 任何帮助将不胜感激!
1 回答
试试这个
vid.set(cv2.CAP_PROP_FOURCC, cv2.VideoWriter_fourcc(*'MJPG'))