OpenCV没有初始化USB摄像头

Bar*_*Das 5 c++ video opencv

我正在尝试使用OpenCV从USB摄像头捕获视频.

#include <highgui.h>
#include <iostream>

using namespace std;
using namespace cv;

int main()
{
    VideoCapture cap (-1);
    if (!cap.isOpened())
         cout << "Cam initialize failed";
    else cout << "Cam initialized";

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

它无法初始化相机.cap.isOpened()返回零.

同一个程序,使用相同版本的OpenCV和相同的USB摄像头,在我朋友的机器上正确运行.我正在运行Fedora 16.相机正在另一个应用程序中正常工作(例如,Cheese).

我在Google和Stack Overflow中进行了一些搜索.但没有有用的帮助.任何的想法?

pho*_*xis 0

这里的手册说VideoCapture::VideoCapture(int device)接受

device:打开的视频采集设备的id(即摄像机索引)。如果连接的是单个相机,则只需传递 0。

我认为如果您的系统中有 1 个摄像头,您应该将 更改为-10