Opencv在linux上不检测火线摄像头

我通过火线连接了一个摄像头,并尝试使用opencv访问它。 相机在香菜中检测到并能够获得视频流。 以下是我使用的代码

    #include "/home/iiith/opencv-2.4.9/include/opencv/cv.h"
    #include "/home/iiith/opencv-2.4.9/include/opencv/highgui.h"
    #include "cxcore.h"
    #include <iostream>

    using namespace cv;
    using namespace std;

    int main(int,char**)
    {
        VideoCapture cap(0);
        if(!cap.isOpened())
            cout<<"Camera not detected"<<endl;
        while(1)
        {
            Mat frame;
            namedWindow("display",1);
            cap >> frame;
            imshow("display",frame);
            waitKey(0); 
        }
    }

当我运行此代码时,视频将从网络摄像头流式传输,而不是我的火线凸轮。 我在朋友的系统中尝试了相同的代码,并检测到火线凸轮。 我使用不同的命令(如testlibrawlsmod)测试了这些设置,它们都是一样的。 甚至Opencv版本2.4.9,Ubuntu 12.04都是一样的。 这真的很奇怪,并且在这2天。 任何人都可以告诉我有什么区别? 如何获得在opencv中检测到的外部凸轮? 提前致谢。

注意:这对设置默认凸轮有什么帮助吗? 谢谢。

更新1:VideoCapture帽(1)给出以下错误HIGHGUI错误:V4L:索引1不正确!

这是否意味着相机无法识别?


首先,你应该确定相机是从你的身上识别出来的

  • 拔下相机并等待几秒钟;
  • 打开终端和数字:
  • 观看dmesg
  • lspci | grep -E -i“(1394 |火线)”#这可能会给你一些东西
  • 插入您的设备并阅读终端上的新条目
  • 如果您的设备被识别,您可以启动一个像这样的命令:
  • mplayer tv:// -tv driver = v4l2:width = 352:height = 288

  • 可能的问题可能是通过火线连接的相机无法被系统识别。

    首先尝试使用AMcap或其他网络摄像头软件查看相机输出,并检查是否可以看到这一点。

    如果您无法在amcap中看到视频,则表示该特定相机的驱动程序丢失。

    链接地址: http://www.djcxy.com/p/83781.html

    上一篇: Opencv doesn't detect firewire webcam on linux

    下一篇: weird trouble displaying openCv video on qlabel