import cv
capture = cv.CaptureFromCAM(0)
img = cv.QueryFrame(capture)
cv.SaveImage("test.JPG", img)
您好, 我只想在我的Ubuntu 10上使用OpenCv和Python从我的网络摄像头保存图片。 OpenCv可以与网络摄像头连接。
但是我收到了这个错误:
OpenCV Error: Null pointer (NULL array pointer is passed) in cvGetMat, file /build/buildd/opencv-2.1.0/src/cxcore/cxarray.cpp, line 2376
Traceback (most recent call last):
File "video.py", line 5, in <module>
cv.SaveImage("test.JPG", img)
cv.error: NULL array pointer is passed
答案 0 :(得分:4)
自己去急诊室,然后使用SimpleCV。它是OpenCV Python绑定的Pythonic包装器和一些其他工具(它使用Numpy,Scipy和PIL):
from SimpleCV import *
camera = Camera()
image = camera.getImage()
image.save('test.JPG')
答案 1 :(得分:3)
我一遍又一遍地看到这个错误:CaptureFromCAM()
调用失败,这意味着QueryFrame()
因此失败并返回NULL作为图像,导致{{1}也失败了。
这里需要考虑两件事:
1)您的网络摄像头可能不是索引0(尝试-1或1) 2)学会安全编码!始终检查正在调用的函数的返回。这种做法将为您节省大量时间:
SaveImage()