閾値、二値化
さてさて、今回も画像処理の続きをやってみたいと思います。
前回は画像の明るさを調整しましたが、
今回は画像のニ値化につして行います。
ニ値化というのは、白と黒の二つにしてしまうという事です。
そして、それをどの基準で行うかというのが閾値になります。
具体的に方法を説明すると、まず各画素の明るさを求めます。
カラー画像の場合は、0〜255のRGB値の平均が明るさになります。
その明るさが閾値より大きければ白、小さければ黒という事になります。
では、実際にその方法をMATLABで書いてみましょう。
今回使った素材の画像は、
この画像はIEEEの研究用標準画像です。
今まではモノクロ画像を使っていましたが、
今回はわかりやすくするために、カラー画像を使います。
では実際のプログラムは以下のように
function image_proc8(t) % 画像処理 % 閾値処理によるニ値化 % imagedata=imread('Lenna.bmp'); for ii = 1 : 256 for jj = 1 : 256 average = mean(imagedata(ii,jj,:)); if (average > t) imagedata2(ii,jj)=255; else imagedata2(ii,jj)=0; end end end image(real(imagedata2)); colormap(gray(256)); |
mean(A) |