【发布时间】:2017-10-11 18:18:33
【问题描述】:
我正在开发一个使用 OpenCV 3.1.0 并显示相机预览的 Android 应用程序。最初,我们调用 setMaxFrameSize(640, 480) 是因为所需的处理量很大,而且我们不需要相机提供的最佳视频质量。该应用程序可以在除客户手机之外的所有设备上正常运行。经典故事吧?
确切的问题是,即使我们明确将最大帧大小设置为 640 x 480,但在他的设备 (Samsung J3) 上,分辨率将为 1280 x 720。
我从 OpenCV 中查看了 JavaCameraView 文件并调用了 getSupportedPreviewSizes。 640 x 480 在该列表中。一切正常,我们设置了几个参数,最后我们调用了 mCamera.setParameters(params);
类中的下一行是:params = mCamera.getParameters();
设置参数时,params.getPreviewSize() = 640 x 480。 调用 mCamera.getParameters() 后,params.getPreviewSize() 将为 1280 x 720。而且它只在该设备上再现。
我已经在 Nexus 6P、三星 S6、三星平板电脑和几部手机上测试了该应用程序,一切正常,分辨率为 640 x 480。但在三星 J3 上,无论我设置什么分辨率,相机都会显示 1280 x 720 帧。
谢谢!
更新:2 天后。没有找到任何解决方案。
【问题讨论】:
标签: android opencv camera android-camera