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);
}
}
当我运行此代码时,视频将从网络摄像头流式传输,而不是我的火线凸轮。 我在朋友的系统中尝试了相同的代码,并检测到火线凸轮。 我使用不同的命令(如testlibraw , lsmod)测试了这些设置,它们都是一样的。 甚至Opencv版本2.4.9,Ubuntu 12.04都是一样的。 这真的很奇怪,并且在这2天。 任何人都可以告诉我有什么区别? 如何获得在opencv中检测到的外部凸轮? 提前致谢。
注意:这对设置默认凸轮有什么帮助吗? 谢谢。
更新1:VideoCapture帽(1)给出以下错误HIGHGUI错误:V4L:索引1不正确!
这是否意味着相机无法识别?
首先,你应该确定相机是从你的身上识别出来的
可能的问题可能是通过火线连接的相机无法被系统识别。
首先尝试使用AMcap或其他网络摄像头软件查看相机输出,并检查是否可以看到这一点。
如果您无法在amcap中看到视频,则表示该特定相机的驱动程序丢失。
链接地址: http://www.djcxy.com/p/83781.html