イメージの関心領域の塗りつぶし
この例では、regionfill
を使用してイメージ内の関心領域 (ROI) を塗りつぶす方法を説明します。この例では関数 roipoly
を使用して、マウスによる対話形式で関心領域を定義します。regionfill
は多角形の境界上のピクセル値から領域へと内側に向かって滑らかに内挿します。この関数は、不要な細部やアーティファクトの削除などのイメージ編集に使用できます。塗りつぶし処理では領域内の値が背景に溶け込む値に置き換えられます。
テーブル上の 4 枚のコインのイメージを読み取って表示します。
I = imread('eight.tif');
imshow(I)
塗りつぶす ROI を指定するためのマスク イメージを作成します。関数 roipoly
を使用して領域を対話形式で指定します。roipoly
を呼び出し、ポインターをイメージ上に移動します。ポインターの形が十字 に変わります。マウスのクリックによって多角形の頂点を指定して ROI を定義します。ROI のサイズと位置はマウスで変更可能です。
mask = roipoly(I);
ダブルクリックで領域の定義を終了します。roipoly
は 1
の値をもつピクセルで塗りつぶされた領域のバイナリ イメージを作成します。
マスク イメージを表示します。
figure imshow(mask)
塗りつぶすイメージとマスク イメージを入力として指定して regionfill
を使用し、領域を塗りつぶします。結果を表示します。イメージ内のコインが 1 つ少なくなっています。
J = regionfill(I,mask); figure imshow(J)