是的,这是另一个 OpenCV 问题。我使用的是 OpenSUSE 12.1,在使用网络摄像头时遇到了一些问题。一句话,不行。
OpenCV cmake 输出:
-- Video I/O: -- DC1394 1.x: NO -- DC1394 2.x: YES -- FFMPEG: YES -- codec: YES -- format: YES -- util: YES -- swscale: YES -- gentoo-style: YES -- GStreamer: NO -- UniCap: NO -- PvAPI: NO -- V4L/V4L2: /1 -- Xine: NO
lsusb | grep 相机
总线 001 设备 002:ID 0ac8:c302 Z-Star Microelectronics Corp. Vega USB 2.0 Camera
命令序列
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .
制作 && 安装
因此,OpenCV 似乎已正确安装了所有 ffmpeg 依赖项。但是没有:
IplImage *img; char ch; int c; CvCapture* capture = NULL; if ((capture = cvCaptureFromCAM(CV_CAP_ANY)) == NULL) { printf("Cannot init camera\n"); return 0; }
“无法初始化相机”消息。
我是 Linux 编程的新手,所以我确定我错过了一些东西。顺便说一句,我已经尝试了所有我能找到的说明,但没有结果。
最佳答案
opencv 2.3.1 来自 opensuse 12.1 64 位源代码。网络摄像头问题:
使用 Yast 安装 libv4l-devel
关于c - OpenCV cvCaptureFromCAM 返回 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9763894/