1

Android で OpenCV 2.4.9 を使用して、色付きのオブジェクトを追跡しています。トラッキングはうまく機能しますが、オート ホワイト バランスが作動してフレームの色温度を再調整すると、機能しなくなることがあります。

ゴール

自動ホワイト バランス機能を無効またはロックする

-

試みられた解決策

Auto White Balance を無効にするための CameraBridgeViewBase オブジェクト (Sample OpenCV プロジェクトの mOpenCvCameraView) にはオプションがないようです。ただし、Android Camera オブジェクトの AWB を無効にするオプションがあります。

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

以下のように、Camera オブジェクトで Auto White Balance Lock を設定してから、CameraBridgeViewBase オブジェクトと CvCameraViewListener で通常どおりのビジネスを再開しようとしました。

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

しかし、mCamera に設定されたパラメーターは CvCameraViewFrames に固執していないようで、カメラは自動ホワイト バランスを維持します。

質問

CvCameraViewListener フレームの Camera オブジェクト パラメータを「固定」するにはどうすればよいですか?

4

1 に答える 1

3

こんにちは私は同じ問題を抱えていました。OpenCV ソース コード「JavaCameraView」でパラメーターを設定する必要があります。これは、OpenCV -> Java -> Org -> OpenCv -> Android の下のプロジェクト ディレクトリにある必要があります。私のファイルには、 /*Now set Camera Parameters */ and play your params.set.... before the mCamera.setParameters(params).... というコメントがあります。私の主な活動でも機能していないようです。

于 2015-09-25T06:56:56.163 に答える