使用OpenCV的libnative_camera * .so可以控制Android相机的自动对焦功能吗?
或者也许可以手动设置焦距?
是否有替代方法(可能是,最好使用Android API来控制相机,然后在onPreview事件中抓取帧并将其传递给本机代码)?
答案 0 :(得分:0)
如果你打算自己控制相机,那么Android Camera API很糟糕。因此,在向JavaCV本机相机库提供硬件相机设备号时,Android API很糟糕。如果没有本机设备编号,JavaCV将无法连接到相应的摄像头(前置或后置)。
如果您的目的只是执行对象检测和内容,那么Android Camera API与JavaCV相结合应该可行。设置一个足够大小的callbackBuffer,setPreviewCallbackWithBuffer,设置足够的预览帧率,一旦你开始获得ImageFormat.NV21格式的预览帧(请注意!!,这是即使在ICS中预览帧支持的唯一格式),将它们传递给JavaCV以执行对象检测。
Android Camera API上的AutoFocus吸引了大量时间。我已经研究了一个多月的可行解决方案。