简体   繁体   中英

Opencv doesn't detect firewire webcam on linux

I have connected a cam through firewire and tried to access it using opencv. The camera is detected in coriander and able to get a video stream. Below is the code I used

    #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); 
        }
    }

When I run this code, the video is streamed from the webcam instead of my firewire cam. I tried the same code in my friend's system and there the firewire cam was detected. I tested the settings using different commands such as testlibraw , lsmod and they are all the same. Even the Opencv version, 2.4.9, Ubuntu 12.04 are all the same. This is really bizarre and am at this for 2 days. Can anyone please tell me what the difference could be? How can I get the external cam detected in opencv? Thanks in advance.

Note : Does this have something to have with setting the default cam? Thanks.

Update 1 : VideoCapture cap(1) gives the following error HIGHGUI ERROR: V4L: index 1 is not correct!

Does this mean the camera is not recognized?

First, you should be sure that camera is recognized from your so

  • unplug camera and wait few seconds;
  • open terminal and digit:
    • watch dmesg
    • lspci | grep -E -i "(1394|firewire)" #this could give you something
  • plug your device and read new entry on terminal
  • if your device is recognized you can launch a command like this:
    • mplayer tv:// -tv driver=v4l2:width=352:height=288

The Possible problem could be that the camera connected through firewire is not recognized by the system.

First try to see the camera output using AMcap or some other webcam software and check if you are able to see this.

If you not able to see the video in amcap then it means that drivers of that particular camera is missing.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM