我正在使用 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 对象参数“粘住”?