Python 尝试使用OpenCV保存网络摄像头图片时出错

Python 尝试使用OpenCV保存网络摄像头图片时出错,python,opencv,webcam,Python,Opencv,Webcam,嗨, 我只想在我的Ubuntu10上用OpenCv和Python保存一张网络摄像头中的图片。 OpenCv可以连接网络摄像头 但我得到了这个错误: import cv capture = cv.CaptureFromCAM(0) img = cv.QueryFrame(capture) cv.SaveImage("test.JPG", img) OpenCV错误:cvGetMat文件/build/buildd/OpenCV-2.1.0/src/cxcore/cxarray.cpp第2376行

嗨, 我只想在我的Ubuntu10上用OpenCv和Python保存一张网络摄像头中的图片。 OpenCv可以连接网络摄像头

但我得到了这个错误:

import cv

capture = cv.CaptureFromCAM(0)
img = cv.QueryFrame(capture)
cv.SaveImage("test.JPG", img)
OpenCV错误:cvGetMat文件/build/buildd/OpenCV-2.1.0/src/cxcore/cxarray.cpp第2376行中的空指针(传递了空数组指针)
回溯(最近一次呼叫最后一次):
文件“video.py”,第5行,在
cv.SaveImage(“test.JPG”,img)
cv.error:传递了空数组指针

省下去急诊室的路,然后使用。它是OpenCV的Python绑定的Python包装器和其他一些工具(它使用Numpy、Scipy和PIL):


省下去急诊室的时间,然后使用。它是OpenCV的Python绑定的Python包装器和其他一些工具(它使用Numpy、Scipy和PIL):


我一次又一次地看到这个错误:
CaptureFromCAM()
调用失败,这意味着
QueryFrame()
因此失败,并返回NULL作为图像,导致
SaveImage()
也失败

这里需要考虑两件事:

1) 您的网络摄像头可能不是索引0(请尝试-1或1) 2) 学会安全地编码!始终检查正在调用的函数的返回。这种做法将在将来为您节省大量时间:

from SimpleCV import *

camera = Camera()
image = camera.getImage()

image.save('test.JPG')

我一次又一次地看到这个错误:
CaptureFromCAM()
调用失败,这意味着
QueryFrame()
因此失败,并返回NULL作为图像,导致
SaveImage()
也失败

这里需要考虑两件事:

1) 您的网络摄像头可能不是索引0(请尝试-1或1) 2) 学会安全地编码!始终检查正在调用的函数的返回。这种做法将在将来为您节省大量时间:

from SimpleCV import *

camera = Camera()
image = camera.getImage()

image.save('test.JPG')
 capture = cv.CaptureFromCAM(0)
 if not capture:
     // deal with error, return, print a msg or something else.

 img = cv.QueryFrame(capture)
 if not img:
     // deal with error again, return, print a msg or something else entirely.

 cv.SaveImage("test.JPG", img)