【发布时间】:2014-03-17 22:37:18
【问题描述】:
我正在尝试使用 opencv 从 USB 摄像头捕获图像帧。但是我总是得到一个黑框。我已经阅读了许多有关此问题的帖子并尝试了所有建议,但对我没有任何帮助。
我开始使用这里讨论的代码: http://opencv-users.1802565.n2.nabble.com/Using-USB-Camera-td6786148.html
我尝试在许多“关键”句子之后包含方法 cvWaitKey(1000)。如您所见,等待值非常高(1000)。
我也尝试保存图像帧,同样,它是黑色图像。
我正在使用以下系统:
- OpenCV 2.2.0
- Windows 7,32 位
- Visual Studio 2010 (C++)
- 一个板载usb摄像头(我不知道制造商)
USB 摄像头可与 AMCAP.EXE 1.00 配合使用。
可能是因为 Windows 使用了相机驱动程序吗?我可以换成其他更适合 OpenCV 2.2.0 的驱动程序吗?
谢谢
【问题讨论】:
-
我可以看到你的代码抓住了框架部分吗?以便我可以提供帮助。干杯(:
-
或者你的输出窗口说什么?
-
我试过罗技凸轮,一切都很好......所以我想这不是代码问题......我仍然认为驱动程序在这方面起着关键作用......
-
因为我之前也用我的 USB 相机拍摄了一张黑色图像,但我设法解决了它。当您说驾驶员发挥作用时,您是对的。这实际上是当且仅当相机与 OpenCV 不兼容时。但我还没有遇到过这样的网络摄像头。其他一些方法可能是使用 USB 驱动程序正在使用的格式(声明它并设置高度和宽度)。代码,您是否使用“CvCapture* capture = cvCaptureFromCAM(0);”和“IplImage* img=cvRetrieveFrame(capture);” ?
-
@rockinfresh,你能写一些代码来举例说明你对使用 USB 驱动程序正在使用的格式的建议吗?