Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

収縮による細い線の除去

この例では、モルフォロジー収縮を使用して、線の幅より近傍の方が大きいバイナリ イメージ内の細い線を除去する方法を説明します。

バイナリ イメージを読み取り、表示します。配線を表す白い線は、幅が 4 ~ 5 ピクセルほどあります。場所によっては配線同士が接しており、全体的な幅は 10 から 11 ピクセルに近くなっています。

BW1 = imread('circbw.tif'); imshow(BW1)

Figure contains an axes. The axes contains an object of type image.

線の幅より大きい近傍を定義します。この例では、近傍全体のサイズが 13 x 13 ピクセルとなるように、半径 7 ピクセルの円板型の構造化要素を使用します。

SE = strel("disk",7)
SE = strel is a disk shaped structuring element with properties: Neighborhood: [13x13 logical] Dimensionality: 2

関数imerodeを使用し、入力イメージと構造化要素を引数として渡してイメージを収縮します。

BW2 = imerode(BW1,SE);

収縮後のイメージを表示します。

imshow(BW2)

Figure contains an axes. The axes contains an object of type image.