android - 适用于 Android 的 OpenCV : Autofocus native camera

标签 android opencv

是否可以使用 OpenCV 的 libnative_camera*.so 控制 Android 相机的自动对焦功能?

或者也许可以手动设置焦距?

是否有替代方法(可能,最好使用 Android API 来控制相机,然后在 onPreview 事件中抓取帧并将其传递给 native 代码)?

最佳答案

如果您打算自己控制相机,那么 Android 相机 API 很糟糕。因此,在向 JavaCV 原生相机库提供硬件相机设备编号时,Android API 很糟糕。如果没有 native 设备编号,JavaCV 将无法连接到适当的相机(正面或背面)。

如果您的 Intent 只是执行对象检测和其他东西,那么结合 JavaCV 的 Android Camera API 应该可以工作。设置足够大小的回调缓冲区,setPreviewCallbackWithBuffer,设置足够的预览帧速率,一旦您开始获取 ImageFormat.NV21 格式的预览帧(请注意!!,即使在 ICS 中,这是预览帧支持的唯一格式),将它们传递给 JavaCV 以执行对象检测。

Android 相机 API 上的自动对焦非常耗时。我已经研究了一个多月来寻找可行的解决方案。

关于android - 适用于 Android 的 OpenCV : Autofocus native camera,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9822446/

相关文章:

OpenCV:沿单像素分支搜索像素

android - 通过 Android 应用程序将位置添加到 newUploadPhotoRequest (Facebook)

c++ - QT造物主: OpenCV dll lib can not be added ("File format not recognized")

c++ - cvSetImageROI 似乎不够快

python - 使用 WebSocket 以字节形式发送带有图像的 JSON

.net - Emgu.CV.CvInvoke引发异常

android - 如何在不推荐使用 onActivityResult 的情况下使用 Facebook 登录 CallbackManager?

java - 如何启动服务在android中重复做某事

java - 暂停按钮仅短时间加扰音频

android - Android中的视频压缩