露出設定とホワイトバランスが絶えず変化しているときに、ビデオのカラーマッチングとフレーム間の追跡を経験した人はいますか?
iPad 2 正面カメラを使用してビデオをキャプチャするカラー トラッキング アプリに取り組んでいます。各フレームで色付きのオブジェクト (前に取得した定義済みの色) を検出する必要があります。私の問題は、カメラ ソフトウェアがフレームごとに WB と Exposure を調整するようになっていることです。したがって、フレーム N で 1 つの色を覚えている場合、N+10 フレームでは WB が異なり、これが色の大きな違いにつながる可能性があります。
色距離の計算には、LAB色空間とCIE76式を使用しています。
はい、はるかに優れた CIEDE2000 距離関数があることは知っていますが、私は ARM プロセッサを使用しており、既に使用している ARM NEON 手動で最適化されたアセンブリ コードでも、この式は重すぎるのではないかと心配しています。
CIE76 は一般的に良好な結果を提供しますが、照明が不十分または非常に明るいシーンでは、カメラが生成するノイズが多すぎるか、画像が過度に飽和するため、色が元の色から離れすぎます。色距離を使用した単純なしきい値処理に加えて、キャリブレーションされた色の標準偏差に基づいて、LAB ピクセル値のコンポーネントごとのしきい値処理を実装しました。これにより、検出の精度も向上しましたが、これは主な問題の解決にはなりません。
カメラ自体は RGB 色空間のフレームを提供しますが、API は現在のフレームの白色点または色温度を取得する関数を提供しません。現在、RGB -> LAB 変換を実行するために D50 光源を想定しています。
そして、これが私の主な疑問です。私の考えは、与えられた RGB 画像の白色点を計算し、それを XYZ 色空間に変換してから、計算された白色点を使用して XYZ を LAB に変換することです。出来ますか?
ウィキペディアから: ホワイト ポイント
色を LMS 色空間の三刺激座標として表現すると、両方の白色点での三刺激値の最大値の比率で LMS 座標をスケーリングするだけで、フォン クリース変換に従ってオブジェクトの色を「変換」できます。これにより、単純ですが大まかな見積もりが得られます。
http://en.wikipedia.org/wiki/White_point
これはうまくいきますか?または、白色点を計算するより良い方法がありますか (大まかにでも)? ところで、私はRetinexアルゴリズムに出くわしました。これは、影の色の強調が優れていることを示しています。誰かがそれを使用しましたか? その長所と短所は何ですか?