android - 在 Android (Moto Z) 上禁用自动图像稳定?

标签 android opencv android-camera android-camera2

我正在使用 OpenCV 为 Android 手机 (Moto Z) 上的计算机视觉编写自定义应用程序。更复杂的是,我在相机上附加了一个鱼眼镜头。

现在,我注意到当我在获取预览图像时移动设备时,鱼眼镜头照亮的圆形区域会明显移动并且即使设备没有移动也会抖动(参见 https://youtu.be/J4Ns0mzgFww 的插图,很难描述)。

效果看起来就像鱼眼镜头在实际相机镜头前物理移动一样,但它非常牢固地附着,即使移动非常慢也会发生这种情况。所以我唯一的解释是在后台某处运行着某种低级图像稳定过程。

不幸的是,这完全打乱了我的相机校准,因为 cx/cy 不再稳定。我看过how can i set the camera function that anti-shake(image Stabilizer) at android ,但是 Camera.Parameters 对象告诉我 video-stabilization-supported=false,并且更改场景模式也没有任何区别。

关于如何获得不稳定预览图像的任何其他提示/想法?我想在 RAW 模式下使用 Camera2 API 可能会起作用,但这意味着要重写大量的 OpenCV 图像采集代码……首选替代方案:-)

最佳答案

像往常一样,我在发布问题 15 分钟后自己弄明白了。那好吧。无论如何。

这可以通过 Camera2 API 实现

requestBuilder.set(CaptureRequest.LENS_OPTICAL_STABILIZATION_MODE, 
  CameraMetadata.LENS_OPTICAL_STABILIZATION_MODE_OFF);

仍然意味着我必须切换到 Camera2 API,但至少不用切换到 RAW。从 4.0 开始,OpenCV 实际上有一个现成的 JavaCamera2View 类,只需要稍作修改。更多详细信息/文档,请访问 https://developer.android.com/reference/android/hardware/camera2/CaptureRequest.html#LENS_OPTICAL_STABILIZATION_MODE .

关于android - 在 Android (Moto Z) 上禁用自动图像稳定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57586591/

相关文章:

java - 旋转 180 度 android 无法正常工作

android - 相机 Intent 安卓

android - Visual Studio 2015 Cordova 插件添加失败

android - 对话主题 Activity : positive and negative buttons

java - 第一个 android 应用程序..需要帮助调试

python - 如何使用 openCV 在 Python 中提高视频播放速度

opencv - 如何将TangoXyxIjData转换为z值矩阵

使用 Robolectric : not recognizing Facebook SDK 进行 Android 测试

ubuntu - OpenCV 2.4.2 findContours 抛出错误(使用 CV 示例程序)

Android:使用 setTransform 翻转实时 TextureView