Kof*_*ffy 10 java android opencv
我正在尝试检索我的网络摄像头支持的可用图片大小分辨率; 使用OpenCV库.我尝试过使用类似的Android问题/答案,但无济于事.(例如Android相机支持的图片尺寸).这是我的代码:
import org.opencv.highgui.VideoCapture;
import org.opencv.core.Size;
public class MyCameraCaptureClass {
public static void main(String[] args) {
System.out.println("Hello, OpenCV");
System.out.println("This program will display the webcam's supported sizes");
System.loadLibrary("opencv_java248"); //load .dll for the jar
VideoCapture vidCap0 = new VideoCapture(0);
if (vidCap0.isOpened()) {
System.out.println("Camera found, and it works so far...");
for (Size aSize : vidCap0.getSupportedPreviewSizes()) {
System.out.println("Doesn't print this at all");
System.out.println("Height:" + aSize.height + "Width:" + aSize.width);
}
}
vidCap0.release();
}
}
Run Code Online (Sandbox Code Playgroud)
堆栈跟踪是:
Exception in thread "main" java.lang.Exception: unknown exception
at org.opencv.highgui.VideoCapture.getSupportedPreviewSizes_0(Native Method)
at org.opencv.highgui.VideoCapture.getSupportedPreviewSizes(VideoCapture.java:478)
at webcam.MyCameraCaptureClass.main(MyCameraCaptureClass.java:19)
Run Code Online (Sandbox Code Playgroud)
所有帮助将得到真诚的感谢.
如评论中所述,这是一个已报告的错误,已被列为已修正为2.4.9:
也就是说,该项目是开源的,并且查看纠正此问题的代码更改,这是一个简单的修复.您可以实现该错误修复并自行构建以使用直到2.4.9发布.相关修订如下:
332-> 335行:
更换:
return env->NewStringUTF(u.name);
Run Code Online (Sandbox Code Playgroud)
附:
// VideoCapture::get can return 0.0 or -1.0 if it doesn't support
// CV_CAP_PROP_SUPPORTED_PREVIEW_SIZES_STRING
if (u.prop != 0.0 && u.prop != -1.0)
return env->NewStringUTF(u.name);
Run Code Online (Sandbox Code Playgroud)