任意の画像のセットを使用します。それらのいくつかは、色補正が必要な場合があります。
Photoshop で補正が必要な画像を開いたところ、ヒストグラムで黄色が少し高くなっていることに気付きました。オートカラーを適用したところ、画像が改善されました。
それはどのように機能しますか?それをどのように実装しますか?ヒストグラムでピークを探し、他のピークに基づいてそれらを平均しますか?
言語/構文はあまり重要ではありません。
任意の画像のセットを使用します。それらのいくつかは、色補正が必要な場合があります。
Photoshop で補正が必要な画像を開いたところ、ヒストグラムで黄色が少し高くなっていることに気付きました。オートカラーを適用したところ、画像が改善されました。
それはどのように機能しますか?それをどのように実装しますか?ヒストグラムでピークを探し、他のピークに基づいてそれらを平均しますか?
言語/構文はあまり重要ではありません。
簡単ではなく、練習と芸術が必要ですが、理論は次のとおりです。
Photoshop や Picasa などのツールでは、1 つのボタンで自動色補正を行うことができます。平均色分布がどうあるべきかについて仮定を立てる必要があり、それらはおそらく、使い慣れた RGB 色空間ではなく、Lab 色空間で機能します。このアプローチはヒューリスティックであるため、一部の画像では間違っている可能性があります。たとえば、明るいが覆われた森で画像を撮影する場合、環境光には決定的な緑のキャストがあり、色を揺らして白いオブジェクトを白にすることはできません。赤に強く押し込みすぎて台無しになるからです。 、たとえば、緑のシャツ。同様に、午後遅くのオレンジ色の太陽からの画像は黄色に偏っており、これを修正するには青色に押し込みすぎています. 過度の補正を避けるために、自動カラー モードに停止値が存在する場合があります。
現在、Lab 色空間は奇妙な獣であり、文字通りそれに関する本全体があります。これは 3 つのチャンネル空間で、1 つのチャンネルに輝度 (これは簡単な方法です) と、単に「a」と「b」と呼ばれる色の考え方とはほとんど関係のないチャンネルです。a および b チャネルは、すべての色度データ (輝度以外のすべて) を、大まかに黄青および緑赤と呼ぶことができる次元でエンコードします。Lab の色域は私たちの目が処理できる範囲をはるかに超えており (RGB と CMYK はどちらも視覚的な色域よりも小さい)、不可能な色を生成します。たとえば、輝度がほとんどない深い彩度の赤などです。それを説明することはできますが、輝度が低下するにつれて、私たちの知覚は色を失います (これが、夜間にすべてが青灰色に見える理由です)。
では、アルゴリズム的にどのように行うのでしょうか? まず、知覚モデルを本当に理解し、画像を知覚空間に変換し、法線のかなり複雑な期待に従って二軸分布を調整し、レンダリングできるように結果を RGB 空間に戻す必要があります。はい、これはポケットカメラに実装できますが、自明ではなく、多くの場合ヒントが必要です (たとえば、予想される色温度を晴れまたは日陰、タングステン、蛍光灯などに設定するなど)。人間によるガイダンス アルゴリズムが存在しないと、より頻繁に問題が発生し、緑の森のような一部の色かぶりは、画像全体で適切に処理できません。
tl;dr