我有一个使用外部摄像头的 JavaCV 应用程序,但它不工作...结果是来自摄像头的黑色图像...我有另一个使用相同代码的项目,它工作正常...我不明白为什么它在我的新项目中不起作用
capture = cvCreateCameraCapture(1);
imgCamera = cvQueryFrame(capture);
代码很简单,首先从外部网络摄像头捕获图像并将其设置为 IplImage
为什么它在一个项目中起作用而在另一个项目中不起作用?
您可以遍历连接到系统的所有摄像头,然后获取特定设备的索引,无论是网络摄像头还是外部摄像头,并在代码中使用它。我给你一个示例代码
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);
希望这可以帮助