摄像头支持的图片尺寸

我试图检索我的摄像头支持的可用图片大小的分辨率; 使用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(); } } 

堆栈跟踪是:

 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) 

所有的帮助将真诚地感谢。

Solutions Collecting From Web of "摄像头支持的图片尺寸"

正如在评论中指出的那样,这是一个已经被列为2.4.9更正的报告错误:

也就是说,这个项目是开源的,并且看着纠正这个问题的代码改变,这是一个简单的修复。 你可以实现这个错误修复,并自己构build,直到2.4.9发布。 相关的修订版本在这里:

  • 在VideoCapture.cpp文件中: REVISION 5f88e2b4

第332-> 335行:

更换:

 return env->NewStringUTF(u.name); 

附:

 // 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);