我有一台Logitech Pro 9000网络摄像头,现在我尝试学习OpenCV。我将OpenCV 2.4.5与Python 2.7一起使用。我在更高分辨率下遇到CvtColor功能问题。以下脚本在640x480中工作,但分辨率不高(800X600及以上)。
import cv
cv.NamedWindow("Video", cv.CV_WINDOW_AUTOSIZE)
camera_index = 1
capture = cv.CaptureFromCAM(camera_index)
cv.SetCaptureProperty(capture,cv.CV_CAP_PROP_FRAME_WIDTH,1200)
cv.SetCaptureProperty(capture,cv.CV_CAP_PROP_FRAME_HEIGHT,800)
grey_frame = cv.CreateImage((1200,800),8,1)
while True:
input_frame = cv.QueryFrame(capture)
cv.CvtColor(input_frame,grey_frame,cv.CV_BGR2GRAY)
cv.WaitKey(5)
cv.ShowImage("Video", grey_frame)
我收到以下错误
cv2.error: dst.data == dst0.data
编辑:已解决保存捕获的input_frame后。我注意到保存的图像的分辨率与我的设定值不匹配。我将1200x800设置为捕获属性并获得1280x800图像。使用此解决方案后,一切正常。
答案 0 :(得分:0)
保存捕获的input_frame后。我注意到保存的图像的分辨率与我的设定值不匹配。我将1200x800设置为捕获属性并获得1280x800图像。使用此解决方案后,一切正常。