AndroidフォンでOpenCVを使用して、黒い背景に対してLEDの色を識別して区別しようとしていますが、現在苦労しています。これまでの私の調査では、2 つの別個の問題が指摘されています。
- OpenCV を使用すると、カメラはデフォルトで自動ホワイト バランスになっているように見え、特定の色を区別するのが難しくなります。ネイティブの Android カメラを使用すると、ホワイト バランスを「曇り」に設定すると、最高の画像が生成されるように見えます。
- OpenCV は RGB 色空間で画像を提供しますが、RGB は人間が知覚する色間の距離と一致しないため、ユークリッド RGB 距離メトリックは最適なソリューションではありません ( 2 つの色を比較する方法を参照)。
したがって、私は3つの質問があります:
- OpenCVによって返される結果の画像に影響を与えるように、Android JavaまたはOpenCVでカメラのホワイトバランスを設定する方法はありますか?
- そうでない場合、OpenCV イメージのホワイト バランスを変更するために (できれば Java で) 利用可能なアルゴリズムはありますか?
- 人間が知覚する色間の距離によりよく一致する代替色空間に RGB カラーを変換するために利用可能なアルゴリズムはありますか (ここでも、できれば Java で) はありますか?
ありがとう