はじめに

前回は2値化の基礎について学びました。
画像を白と黒に変換する処理ってことは理解できましたが、
最適なしきい値を決める方法がわかりませんでした。

そうですね。今回は2値化の最適なしきい値の決め方について説明するわよ。
いくつか方法があるけど、よく使われる大津の2値化についてよ。
大津の2値化とは
大津の2値化は、2値化のしきい値を自動的に求める手法のひとつで、判別分析法とも呼ばれます。
人がしきい値を設定した場合、期待する2値画像にならない場合があります。大津の2値化は、画像ごとにおおよそ最適なしきい値を求めることが可能であり、2値化処理ではよく用いられる手法です。

大津の2値化の手順
大津の2値化は、ヒストグラムのクラス間分離度が最大になる時のしきい値を求めます。
まず、ヒストグラムとは横軸に画素値・縦軸に画素値の個数をとり、画素値の個数を棒グラフにしたもので、画像の特徴を解析するために使用されます。ヒストグラムの詳細は、また別の機会に説明します。

画素値に対して、左側をクラス1・右側をクラス2とします。

画素毎にクラス1とクラス2の分離度を求めます。画像Aの分離度は図の青線グラフのようになります。

求めた分離度が最大の時の画素値を2値化しきい値とします。画像Aの場合、しきい値は102となります。

大津の2値化をやってみよう
色々な画像に大津の2値化をやってみます。



大津の2値化は、画像B/Cのように、明るさが変動した場合でも最適に2値化処理が可能です。
とはいえ、画像Dのように部分的に明るさが変化するものは最適に処理できない場合もあります。
まとめ

なるほど。大津の2値化ってすごいですね。良く使われる理由が分かりました。
でも、分離度の計算が理解出来ていません....
ところで画像Dは大津の2値化でもうまく2値化できませんでした....
これはどうすれば良いでしょうか?

そうね、少し難しい話になるので別の機会に説明するわ!
画像処理のことしっかり勉強して、「村田の2値化」みたいなのを作れるように頑張ってね!

あっ、本名、言わないでください....
-
大津の2値化は、しきい値を自動的に求める手法である。
-
画像ごとに最適なしきい値を算出できる。