我买了一个树莓派,并使用Archlinux图像SD,我正在努力学习计算机视觉,因为我计划将rapsberry pi连接到arduino板上,并做一些机器人。
我正在尝试在python中使用opencv,所以我遵循了在Archlinux上安装opencv的教程,并尝试了以下代码:
import cv2.cv as cv
capture = cv.CaptureFromCAM(-1)
cv.SetCaptureProperty(capture,cv.CV_CAP_PROP_FRAME_WIDTH, 640)
cv.SetCaptureProperty(capture,cv.CV_CAP_PROP_FRAME_HEIGHT, 480)
img = cv.QueryFrame(capture)
print "Captured "
cv.SaveImage("output.jpg",img3)我有几个问题。我得到了这些错误
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument我认为它们是警告,因为执行结束并创建了"output.jpg“,但图像被搞乱了。我包含了这张图片,这样你就可以看到它是什么样子的。
此外,我可以将分辨率更改为320x240,因为它只会创建一张完整的黑色图像。
在过去的两天里,我一直在互联网上寻找解决方案,但我走进了死胡同……所以我真的很感谢任何能帮助我的人。
谢谢!

发布于 2012-11-27 00:16:09
我想我找到我的问题了..。如果我在打开相机后做一个time.sleep(3),看起来照片被正确地捕捉到了。
我不能百分之百地确定是不是这样,但自从我这么做以来,它一直在工作。如果这能在我的下一次测试中起作用,我会与你保持联系,但现在我建议你这样做。
https://stackoverflow.com/questions/13553597
复制相似问题