静态opencv无法在Linux busybox上找到usb网络摄像头?

时间:2012-11-16 13:28:48

标签: c++ opencv usb webcam busybox

我有一个小型的busybox系统,我编译内核并增加了对USB摄像头的支持。当我将相机连接到设备时它会给我一些输出,我得到一个/ dev / video0设备:

usb 1-1: new high-speed USB device number 3 using orion-ehci
uvcvideo: Found UVC 1.00 device Webcam C170 (046d:082b)
input: Webcam C170 as /devices/platform/orion-ehci.0/usb1/1-1/1-1:1.0/input/input1

/ # ls -l /dev/video0
crw-rw----    1 0        0          81,   0 Mar  8 08:08 /dev/video0
/ # 

我已经静态编译了opencv2.4 for arm以及所有需要的lib并且没有编译代码时出错:

Mat frame;
VideoCapture capture(0);
if(!capture.isOpened()){
    printf("Cannot open camera\r\n");
    printf("%s\r\n", cvErrorStr(cvGetErrStatus()));
}

作为输出得到满足:

Cannot open camera
No Error
/ # 

相机在我的笔记本电脑上工作正常,我尝试了多台相机,结果相同。我也尝试了很多不同的方式打开相机通过opencv也给了我相同的结果。

如何让我的busybox系统和opencv从相机中读取?

谢谢

1 个答案:

答案 0 :(得分:1)

您可能缺少V4L。我会运行V4L的示例代码并进行调查。你是否用ldd检查了你编程的所有库是否已被链接?