【问题标题】:Disable Auto-White Balance in OpenCV (Android)在 OpenCV (Android) 中禁用自动白平衡
【发布时间】:2015-07-13 09:40:48
【问题描述】:

我正在 Android 上使用 OpenCV 2.4.9 来跟踪彩色对象。跟踪效果很好,但有时会在自动白平衡启动并重新调整帧的色温时停止工作。

目标

禁用或锁定自动白平衡功能

-

尝试的解决方案

CameraBridgeViewBase 对象(示例 OpenCV 项目中的 mOpenCvCameraView)中似乎没有用于禁用自动白平衡的选项。但是,可以选择禁用 Android Camera 对象的 AWB。

Camera mCamera = Camera.open( 1 );
Camera.Parameters params = mCamera.getParameters();
params.setAutoWhiteBalanceLock(true);
mCamera.setParameters(params);

我一直在尝试使用 Camera 对象设置自动白平衡锁定,然后使用 CameraBridgeViewBase 对象和 CvCameraViewListener 恢复正常工作,如下所示。

Camera mCamera set parameters like above code block ^
mOpenCvCameraView.setCvCameraViewListener(this);
...
public Mat onCameraFrame(CvCameraViewFrame inputFrame) { ... }

但是为 mCamera 设置的参数似乎并没有粘在 CvCameraViewFrames 上,并且相机保持自动白平衡。

问题

如何使 CvCameraViewListener 帧的 Camera 对象参数“粘住”?

【问题讨论】:

    标签: android opencv android-camera opencv4android


    【解决方案1】:

    您好,我遇到了同样的问题。您需要在 OpenCV 源代码“JavaCameraView”中设置参数,它应该在您的项目目录中的 OpenCV -> Java -> Org -> OpenCv -> Android 下。在我的文件中有一条评论说 /*Now set Camera Parameters */ and play your params.set.... before the mCamera.setParameters(params).... 我希望这会有所帮助。它似乎在我的主要活动中也不起作用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多