ヒストグラム均等化
ヒストグラムストレッチを使用してコントラストを上げることができることはすでに見てきました。このチュートリアルでは、ヒストグラム均等化を使用してコントラストを強化する方法を説明します。
ヒストグラム均等化を実行する前に、ヒストグラム均等化で使用される2つの重要な概念を知っておく必要があります。これらの2つの概念は、PMFとCDFとして知られています。
これらについては、PMFとCDFのチュートリアルで説明しています。ヒストグラム均等化の概念をうまく理解するために、それらを訪問してください。
ヒストグラム均等化
ヒストグラム均等化は、コントラストを高めるために使用されます。これで常にコントラストが上がる必要はありません。ヒストグラム均等化が悪化する場合があります。その場合、コントラストが低下します。
以下の画像を単純な画像として、ヒストグラム均等化を開始しましょう。
画像
この画像のヒストグラム
この画像のヒストグラムを以下に示します。
次に、ヒストグラム均等化を実行します。
PMF
まず、この画像のすべてのピクセルのPMF(確率質量関数)を計算する必要があります。PMFの計算方法がわからない場合は、PMF計算のチュートリアルにアクセスしてください。
CDF
次のステップは、CDF(累積分布関数)の計算です。CDFの計算方法がわからない場合も、CDF計算のチュートリアルにアクセスしてください。
グレーレベルに従ってCDFを計算します
たとえば、これを考えてみましょう。2番目のステップで計算されたCDFは次のようになります。
グレーレベル値 | CDF |
---|---|
0 | 0.11 |
1 | 0.22 |
2 | 0.55 |
3 | 0.66 |
4 | 0.77 |
5 | 0.88 |
6 | 0.99 |
7 | 1 |
次に、このステップでは、CDF値に(グレーレベル(マイナス)1)を掛けます。
3bppの画像があることを考慮してください。次に、レベルの数は8です。1から8を引くと7になります。したがって、CDFに7を掛けます。ここでは、掛けた後に得られたものを示します。
グレーレベル値 | CDF | CDF *(レベル-1) |
---|---|---|
0 | 0.11 | 0 |
1 | 0.22 | 1 |
2 | 0.55 | 3 |
3 | 0.66 | 4 |
4 | 0.77 | 5 |
5 | 0.88 | 6 |
6 | 0.99 | 6 |
7 | 1 | 7 |
これが最後のステップで、新しいグレーレベル値をピクセル数にマッピングする必要があります。
古いグレーレベルの値にこれらのピクセル数があると仮定しましょう。
グレーレベル値 | 周波数 |
---|---|
0 | 2 |
1 | 4 |
2 | 6 |
3 | 8 |
4 | 10 |
5 | 12 |
6 | 14 |
7 | 16 |
ここで、新しい値をにマップすると、これが得られます。
グレーレベル値 | 新しいグレーレベル値 | 周波数 |
---|---|---|
0 | 0 | 2 |
1 | 1 | 4 |
2 | 3 | 6 |
3 | 4 | 8 |
4 | 5 | 10 |
5 | 6 | 12 |
6 | 6 | 14 |
7 | 7 | 16 |
これらの新しい値をヒストグラムにマッピングすると、完了です。
この手法を元の画像に適用してみましょう。適用後、次の画像とそのヒストグラムを取得しました。
ヒストグラム均等化画像
この画像の累積分布関数
ヒストグラム均等化ヒストグラム
ヒストグラムと画像の両方を比較する
結論
画像からはっきりとわかるように、新しい画像のコントラストが強化され、そのヒストグラムも均等化されています。ここで注意すべき重要な点が1つあります。ヒストグラム均等化中に、ヒストグラムの全体的な形状が変化しますが、ヒストグラムのストレッチの場合と同様に、ヒストグラムの全体的な形状は同じままです。