ヒストグラム処理と2値化処理
このヒストグラムの使い方の1つとして、より良い2値化処理というものが あります。
たとえば前章の画像を、閾値を0として2値化すると、左下の図の ような結果が得られます。
要は画素値がマイナスの画素は黒く示されるわけです。
さすがに一様乱数で作っただけあり、白と黒はほぼ拮抗しています。
一方 閾値を0.2として2値化すると、右下の図のような結果が得られます。
一見して 黒が多くなっていることがわかります。
しかしこれも目的次第では意味のある2値化処理です。
しかしいささか極端なケースで恐縮ですが、もし入力画像のヒストグラムが 以下のようになっていたらどうでしょう。
| 階級下限値 | 階級上限値 | 度数 |
| -1 | -0.9 | 0 |
| -0.9 | -0.8 | 0 |
| -0.8 | -0.7 | 0 |
| -0.7 | -0.6 | 0 |
| -0.6 | -0.5 | 0 |
| -0.5 | -0.4 | 0 |
| -0.4 | -0.3 | 0 |
| -0.3 | -0.2 | 0 |
| -0.2 | -0.1 | 0 |
| -0.1 | 0 | 0 |
| 0 | 0.1 | 0 |
| 0.1 | 0.2 | 0 |
| 0.2 | 0.3 | 50 |
| 0.3 | 0.4 | 0 |
| 0.4 | 0.5 | 0 |
| 0.5 | 0.6 | 50 |
| 0.6 | 0.7 | 0 |
| 0.7 | 0.8 | 0 |
| 0.8 | 0.9 | 0 |
| 0.9 | 1 | 0 |
こういった入力画像に対して、0を閾値に2値化処理すると、結局すべての 画素が閾値より大きくなってしまいます。
これでは意味のある2値化処理には なりません。
しかし閾値をたとえば0.4に設定すると、それより値が大きな画素 も小さな画素も50個ずつであり、ずっと適切な処理になります。
その望ましい 閾値を知るために、ヒストグラムは大きな意味を持つのです。


