外部摄像头无法使用JavaCV

时间:2013-07-28 21:40:48

标签: java opencv javacv

我有一个使用外部摄像头的JavaCV应用程序,但它不能正常工作......结果是来自摄像头的黑色图像...... 我有另一个项目使用相同的代码,它的工作正常... 我不明白为什么它不适用于我的新项目

capture = cvCreateCameraCapture(1);
imgCamera = cvQueryFrame(capture);

代码很简单,首先从外部网络摄像头捕获图像并将其设置为IplImage

为什么它在项目中起作用而在另一个项目中不起作用?

1 个答案:

答案 0 :(得分:0)

您可以遍历连接到系统的所有相机,然后获取特定设备的索引,无论是网络摄像头还是外部摄像头,并在代码中使用它。我给你一个示例代码

String cameraInformation = "";
int n = com.googlecode.javacv.cpp.videoInputLib.videoInput.listDevices();
for (int i = 0; i < n; i++) {
            String info = com.googlecode.javacv.cpp.videoInputLib.videoInput
                    .getDeviceName(i);
            //cameraInformation = info + " Device id:" + i + "\n";
            system.out.println("Your information for camera:"+info+" and device index is="+i);
        }

从这里你可以知道哪个设备的索引是什么,并在此代码中使用它

capture = cvCreateCameraCapture(deviceIndex);
imgCamera = cvQueryFrame(capture);

希望这有帮助