同じシーンの 2 つの bmp ファイルがあり、一方が他方よりも明るいかどうかを判断したいと考えています。同様に、コントラストが異なる bmp のセットと、彩度が異なる bmp の別のセットがあります。これらの画像の明るさ、コントラスト、彩度を比較するにはどうすればよいですか? これらのテスト画像は、センサーの製造元が提供するツールによって保存されます。gcc 4.5 を使用しています。
2 に答える
2つの画像の明るさを比較するには、ピクセルのグレー値を比較する必要があります(はい、1つずつ)。RGB色空間では、明るさ(グレー値)はR、G、Bの平均であるためbrightness = (R+G+B) / 3
、コントラストを比較すると、特に彩度はそれほど簡単ではないことがわかります。まず、HSLとHSVですが、一般的には、画像処理のトピックに関する優れた本を入手することをお勧めします。
(R+G+B)/3 の答えは、明るさの適切な近似値でさえありません (少なくとも今日わかっていることから)。
[BRIGHTNESS] 実際にすべきことは、別のカラー スケールに変換し、明るさを組み込んだカラー スケールのチャネルを使用して明るさを比較することです。ここを見て!!!
ここには、変換またはRGBから輝度への変換などについて話す素晴らしい答えがあります...
[対比] コントラストは、可能なピクセル値の全範囲にわたるピクセル値の広がりの関数です。すべてのピクセルのヒストグラム (x 軸はピクセル値を表し、y 軸はその値のピクセル数を表す) をまとめることでコントラストを理解し、ヒストグラムを分析して全体にわたって適切な分布があるかどうかを理解します。範囲全体かどうか。コントラストの比較はさまざまな方法で行うことができますが、各画像のピクセル値の中心点 (ヒストグラム データの平均) と、場合によっては何らかのヒストグラム幅パラメーター (幅が約中心点であり、すべてのピクセルの 90% を組み込むのに十分な大きさです)、両方の画像の中心と幅のパラメーターを比較します。これは出発点にすぎません。
[彩度] 彩度を比較するには、画像を HSL 色空間に変換します。HSL の S は彩度を表します。この色空間内の彩度を比較することは、上で概説したように明るさを比較することとまったく同じになります!!!