昨日の続きです。富士山の画像データを数値化してヒストグラムにしたり、黒と白だけの画像(2値化)にしてみます。数値化することにより、写真や手書き文字の識別が可能になり、AIを用いた車の自動運転、顔認証あるいは製造現場での検査機など種々の応用が可能となります。Anacondaには、これらの画像処理可能な種々なライブラリがあります。
資料ご覧ください。 → 画像処理
p.1 昨日と同様に「Jupyter」を起動して、左のプログラムを入力してRunで実行した結果が、右の写真と0~256の輝度に対して写真データを数値化したヒストグラムです。ヒストグラムの左側が暗く、右側が明るい部分です。この写真は、暗い部分が多いようです。通常、各ピクセルにはR(赤)G(緑)B(青)の3つの色データがあります。輝度はこれらの平均値とします。
p.2 カラー画像を黒と白だけの画像に置き換えて数値化することを「2値化」と言います。この際に、色が濃いものは「黒」に、明るいものは「白」にします。その際に、閾値を設定して、それより左は黒、右は白にデータを置き換えます。この閾値は、黒の面積を全体の面積で割った比率pにより決めます。p=0.93になるように閾値を設定しました。白黒の画像あるいはヒストグラムを見ながら閾値を決めることになります。自動でも可能ですが、富士山の形が分からなくなってしまいました。自動にして適正な2値化をするには、機械学習をする必要があるかもしれません。