我正在Android上使用OpenCV 2.4.9来跟踪彩色对象。跟踪工作良好,但有时停止工作时,自动白平衡启动和重新调整帧的色温。
禁用或锁定自动白平衡功能
尝试解决方案
似乎没有一个选项在CameraBridgeViewBase对象(mOpenCvCameraView在样本OpenCV项目)禁用自动白平衡。但是,Android Camera对象有禁用AWB的选项。
Camera mCamera = Camera.open( 1 );
Camera.Parameters params = mCamera.getParameters();
params.setAutoWhiteBalanceLock(true);
mCamera.setParameters(params);
我一直试图设置自动白平衡锁定与相机对象,然后恢复业务照常与CameraBridgeViewBase对象和CvCameraViewListener,如下所示。
Camera mCamera set parameters like above code block ^
mOpenCvCameraView.setCvCameraViewListener(this);
...
public Mat onCameraFrame(CvCameraViewFrame inputFrame) { ... }
但是为mccamera设置的参数似乎不坚持CvCameraViewFrames,并且相机保持自动白平衡。
如何使相机对象参数"坚持"CvCameraViewListener帧?
你好,我有同样的问题。你需要在OpenCV源代码"JavaCameraView"中设置参数,它应该在你的项目目录下的OpenCV -> Java -> Org -> OpenCV -> Android。在我的文件中有一个评论说/*现在设置相机参数*/和播放params.set....在mccamera . setparameters (params)....之前我希望这是有帮助的。