c - OpenCV cvCaptureFromCAM 返回 NULL

标签 c linux opencv webcam

是的,这是另一个 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/

相关文章:

c - SIGSEGV 不能被 sigaction 捕获两次

c - scanf() 在 malloc 结构成员中不起作用

linux - 检测接口(interface)上的 IP 地址更改

linux - 如何在 linux 中创建虚拟设备?

linux - Tasklet 如何工作?

c++ - OpenCV 图像大小限制

python - opencv python在存在间隙的表中添加网格线

C - 整数抛出随机值?

c++ - 如何判断哪个#include 提供了哪个对象?

opencv - 单面相机校准