MATLAB ヘルプ センター
塗りつぶし手法の使用による類似した濃淡値の連続イメージ領域の選択
BW = grayconnected(I,row,column)
BW = grayconnected(I,row,column,tolerance)
BW = grayconnected(I,row,column) はグレースケール イメージ I にある類似した強度の連結領域を検出します。開始点の row インデックスと column インデックスである "シード ピクセル" を指定します。この関数は、バイナリ マスク BW を返します。これは、どのピクセルが類似した強度でシード ピクセルに 8 連結されているかを示します。
BW
I
row
column
例
BW = grayconnected(I,row,column,tolerance) は、マスクに含める強度値の範囲を [(seedvalue-tolerance),(seedvalue+tolerance)] として指定します。
tolerance
[(seedvalue-tolerance),(seedvalue+tolerance)]
すべて折りたたむ
グレースケール イメージを読み取り、それを表示します。
I = imread('cameraman.tif'); imshow(I)
塗りつぶし手法を使用して、イメージ内の空をセグメント化します。空のピクセルを選択して、シード位置とします。この例では、("行", "列") 座標が (50, 50) のピクセルを使用します。関数 grayconnected を呼び出し、セグメント化するイメージとこのシード位置を指定します。
grayconnected
J = grayconnected(I,50,50);
関数 labeloverlay を使用して、元のイメージの上に、セグメント化された領域を色付きで表示します。セグメント化された領域には、シード ピクセルに 8 連結された空のピクセルが含まれています。この領域には、連結されていない類似した強度のピクセルは含まれていません。たとえば、三脚の脚の間に見えている空などです。
labeloverlay
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 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 です。
23
seedrow = 4; seedcol = 1;
許容誤差を指定します。
tol = 3;
シード位置および許容誤差を指定してマスク イメージを作成します。マスクには、シード ピクセルに 8 連結されており、[20, 26] の範囲の値をもつすべてのピクセルが含まれています。マスクには、グレースケールの値が許容誤差範囲内で、8 連結されていないピクセルは含まれません ((行, 列) 座標が (3, 6) のピクセルなど)。
BW = grayconnected(I,seedrow,seedcol,tol)
BW = 6×7 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
シード ピクセルの行インデックス。正の整数として指定します。
シード ピクセルの列インデックス。正の整数として指定します。
マスクに含める強度値の許容誤差。数値スカラーとして指定します。マスクには、値が範囲 [(seedvalue-tolerance),(seedvalue+tolerance)] のすべてのピクセルが含まれます。既定では、整数値イメージの場合の許容誤差は 32、浮動小数点イメージの場合は 0.1 です。
32
0.1
連結された領域のバイナリ マスク。I と同じサイズの logical 配列として返されます。前景ピクセルはすべて、類似した強度でシード ピクセルに 8 連結されているイメージ ピクセルを示します。
データ型: logical
logical
すべて展開する
使用上の注意および制限:
grayconnected では C コードの生成がサポートされています (MATLAB® Coder™ が必要)。汎用の MATLAB Host Computer ターゲット プラットフォームを選択した場合、プリコンパイルされたプラットフォーム固有の共有ライブラリを使用するコードが、grayconnected によって生成されます。共有ライブラリを使用するとパフォーマンスの最適化は維持されますが、コードを生成できるターゲット プラットフォームが限定されます。詳細については、Image Processing Toolbox でサポートされているコード生成のタイプを参照してください。
MATLAB Host Computer
R2015b で導入
imfill | bwselect | イメージの領域分割
imfill
bwselect
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ