我想使用python和OpenCV从我的网络摄像头获取视频流,为此我实现了以下简单代码:
import cv
cv.NamedWindow("w1", cv.CV_WINDOW_AUTOSIZE)
capture = cv.CaptureFromCAM(0)
def repeat():
frame = cv.QueryFrame(capture)
cv.ShowImage("w1", frame)
while True:
repeat()
当我尝试执行它时,会出现以下错误:
andfoy@ubuntu:~/Python$ python camera.py
VIDIOC_QUERYMENU: Argumento inválido
VIDIOC_QUERYMENU: Argumento inválido
VIDIOC_QUERYMENU: Argumento inválido
我根据其他帖子的建议,改了以下几行:
capture = cv.CaptureFromCAM(0)
致:
capture = cv.CaptureFromCAM(-1)
但错误依然存在。
您需要在末尾添加
waitkey
函数。下面这段代码对我很有用。
如果您不知道,现在的OpenCV使用新的python api
cv2
,并且它有很多特性。其中,编写的代码与:下面的代码适用于Python2.7和为Python2.7构建的opencv
相关问题 更多 >
编程相关推荐