Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

grayconnected

塗りつぶし手法の使用による類似した濃淡値の連続イメージ領域の選択

説明

BW = grayconnected(I,row,column) はグレースケール イメージ I にある類似した強度の連結領域を検出します。開始点の row インデックスと column インデックスである "シード ピクセル" を指定します。この関数は、バイナリ マスク BW を返します。これは、どのピクセルが類似した強度でシード ピクセルに 8 連結されているかを示します。

BW = grayconnected(I,row,column,tolerance) は、マスクに含める強度値の範囲を [(seedvalue-tolerance),(seedvalue+tolerance)] として指定します。

すべて折りたたむ

グレースケール イメージを読み取り、それを表示します。

I = imread('cameraman.tif');
imshow(I)

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

塗りつぶし手法を使用して、イメージ内の空をセグメント化します。空のピクセルを選択して、シード位置とします。この例では、("行", "列") 座標が (50, 50) のピクセルを使用します。関数 grayconnected を呼び出し、セグメント化するイメージとこのシード位置を指定します。

J = grayconnected(I,50,50);

関数 labeloverlay を使用して、元のイメージの上に、セグメント化された領域を色付きで表示します。セグメント化された領域には、シード ピクセルに 8 連結された空のピクセルが含まれています。この領域には、連結されていない類似した強度のピクセルは含まれていません。たとえば、三脚の脚の間に見えている空などです。

imshow(labeloverlay(I,J))

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

塗りつぶし手法を使用して、カメラマンのジャケットをセグメント化します。ジャケットのピクセルを選択して、シード位置とします。この例では、("行", "列") 座標が (110, 65) のシード ピクセルを指定します。関数 grayconnected を呼び出し、セグメント化するイメージとこのシード位置を指定します。

J2 = grayconnected(I,110,65);

元のイメージの上に、セグメント化されたイメージを色付きで表示します。セグメント化された領域には、シード ピクセルに 8 連結されたすべてのピクセルが含まれています。三脚とカメラマンの髪はジャケットと類似した強度なので、セグメント化された領域に含まれています。

imshow(labeloverlay(I,J2))

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

小さいサンプル イメージを作成します。

I = uint8([20 22 24 23 25 20 100
           21 19 12 13 12 30 6
           22 11 13 12 24 25 5
           23 13 13 13 24 25 5
           24 27 13 12 12 13 5
           25 26  5 28 29 50 6]);

シード位置の行インデックスと列インデックスを指定します。シード位置の値は 23 です。

seedrow = 4;
seedcol = 1;

許容誤差を指定します。

tol = 3;

シード位置および許容誤差を指定してマスク イメージを作成します。マスクには、シード ピクセルに 8 連結されており、[20, 26] の範囲の値をもつすべてのピクセルが含まれています。マスクには、グレースケールの値が許容誤差範囲内で、8 連結されていないピクセルは含まれません ((行, 列) 座標が (3, 6) のピクセルなど)。

BW = grayconnected(I,seedrow,seedcol,tol)
BW = 6x7 logical array

   1   1   1   1   1   1   0
   1   0   0   0   0   0   0
   1   0   0   0   0   0   0
   1   0   0   0   0   0   0
   1   0   0   0   0   0   0
   1   1   0   0   0   0   0

入力引数

すべて折りたたむ

グレースケール イメージ。数値行列として指定します。

データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

シード ピクセルの行インデックス。正の整数として指定します。

データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

シード ピクセルの列インデックス。正の整数として指定します。

データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

マスクに含める強度値の許容誤差。数値スカラーとして指定します。マスクには、値が範囲 [(seedvalue-tolerance),(seedvalue+tolerance)] のすべてのピクセルが含まれます。既定では、整数値イメージの場合の許容誤差は 32、浮動小数点イメージの場合は 0.1 です。

データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

出力引数

すべて折りたたむ

連結された領域のバイナリ マスク。I と同じサイズの logical 配列として返されます。前景ピクセルはすべて、類似した強度でシード ピクセルに 8 連結されているイメージ ピクセルを示します。

データ型: logical

拡張機能

バージョン履歴

R2015b で導入