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)

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

J = grayconnected(I,50,50);

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

imshow(labeloverlay(I,J))

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

J2 = grayconnected(I,110,65);

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

imshow(labeloverlay(I,J2))

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

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

シード位置の行と列、および許容誤差を指定してマスク イメージを作成します。シード位置は値が 23 のピクセルが指定され、許容誤差が 3 であるため、グレースケール値の範囲は [20,26] になります。

seedrow = 4
seedrow = 4
seedcol = 1
seedcol = 1
tol = 3 
tol = 3
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 で導入