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
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.
链接地址: http://www.djcxy.com/p/83782.html上一篇: 立即从OpenCV中的两台摄像机读取数据