主要内容

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

分水岭

説明

分水岭変換は,明るいピクセルが高い高度,暗いピクセルが低い高度を表す表面として扱うことにより,イメージ内の”集水域(汇水盆地)”または”流域の稜線(分水岭脊线)”を検出します。分水岭変換を使用して,連続する関心領域を個別のオブジェクトにセグメント化できます。

l=分水岭(一个は,入力行列一个の分水岭領域を指定するラベル行列lを返します。

l=分水岭(一个康涅狄格州は分水岭計算で使用する連結性を指定します。

すべて折りたたむ

オーバーラップした2つの円形オブジェクトが含まれるバイナリイメージを作成します。イメージを表示します。

center1 = -40;center2 = -center1;dist =√2 * 2 * center1) ^ 2);半径= dist/2 * 1.4;Lims = [floor(center1-1.2*radius) cei2 (center2+1.2*radius)];(x, y) = meshgrid (lims (1): lims (2));bw1 =√(x-center1)。^ 2 + (y-center1)。^2) <= radius; bw2 = sqrt((x-center2).^2 + (y-center2).^2) <= radius; bw = bw1 | bw2; imshow(bw) title(“物体重叠的二值图像”

图中包含一个轴。轴的标题二值图像与重叠对象包含一个类型的对象图像。

バイナリイメージの補数の距離変換を計算します。出力イメージの各ピクセルの値は,そのピクセルからbw内の最も近い非ゼロピクセルまでの距離です。

D = bwdist (~ bw);imshow (D,[])标题(二值图像的距离变换

图中包含一个轴。二值图像的距离变换轴包含一个类型为Image的对象。

分水岭変換の場合に明るいピクセルが高い高度,暗いピクセルが低い高度を表すように,距離変換されたイメージの補数を取ります。

D = - D;imshow (D,[])标题(“距离变换的补充”

图中包含一个轴。标题为“距离变换补码”的轴包含一个类型为image的对象。

分水岭変換を計算します。ROIの外側にあるピクセルを0に設定します。

L =分水岭(D);L (~ bw) = 0;

結果として得られるラベル行列をRGBイメージとして表示します。

rgb = label2rgb (L,“喷气机”,(。5。5。5);imshow (rgb)标题(“分水岭变换”

图中包含一个轴。标题为分水岭变换的轴包含类型为image的对象。

オーバーラップする2つ球が含まれる3次元バイナリイメージを作成します。

center1 = -10;center2 = -center1;dist =√3 * 2 * center1) ^ 2);半径= dist/2 * 1.4;Lims = [floor(center1-1.2*radius) cei2 (center2+1.2*radius)];[x, y, z] = meshgrid (lims (1): lims (2));bw1 =√(x-center1)。^ 2 + (y-center1)。^ 2 +...(z-center1)。^ 2)< =半径;bw2 =√(x-center2)。^ 2 + (y-center2)。^ 2 +...(z-center2)。^ 2)< =半径;Bw = bw1 | bw2;图、等值面(x, y, z, bw 0.5),轴平等的、标题(“BW”)包含x, ylabely, zlabelzXlim (lims), ylim(lims), zlim(lims)视图(3),camlight, lighting高洛德

图中包含一个轴。标题为BW的轴包含一个类型为patch的对象。

距離変換を計算します。

D = bwdist (~ bw);图、等值面(x, y, z D / 2)半径、轴平等的标题(“距离变换等值面”)包含x, ylabely, zlabelzXlim (lims), ylim(lims), zlim(lims)视图(3),camlight, lighting高洛德

图中包含一个轴。题目为Isosurface of distance transform的坐标轴包含一个类型为patch的对象。

距離変換の補数を計算し,オブジェクトでないピクセルをに強制し,分水岭変換を計算します。

D = - D;D (~ bw) =正;L =分水岭(D);L (~ bw) = 0;图(x,y,z,L==1,0.5)等值面(x,y,z,L==2,0.5)轴平等的标题(“分段对象”)包含x, ylabely, zlabelzXlim (lims), ylim(lims), zlim(lims)视图(3),camlight, lighting高洛德

图中包含一个轴。带有标题分段对象的轴包含2个patch类型的对象。

入力引数

すべて折りたたむ

入力イメージ。任意の次元の数値配列または逻辑配列として指定します。

データ型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑

ピクセルの連結性。次の表のいずれかの値を指定します。既定の連結性は2次元イメージでは83次元イメージでは26です。

平均

2 次元連結性

4 連結

ピクセルのエッジの部分が接触している場合,ピクセルは連結されます。ピクセルの近傍は水平方向または垂直方向に隣接するピクセルです。

8 連結

ピクセルのエッジまたはコーナーが接触している場合,ピクセルは連結されます。ピクセルの近傍は水平方向,垂直方向または対角方向に隣接するピクセルです。

3 次元連結性

6 連結

面が接触している場合,ピクセルは連結されます。ピクセルの近傍は次のように隣接するピクセルです。

  • 次のいずれかの方向:奥,手前,左,右,上および下

18 連結

面またはエッジが接触している場合,ピクセルは連結されます。ピクセルの近傍は次のように隣接するピクセルです。

  • 次のいずれかの方向:奥,手前,左,右,上および下

  • 右下または上の奥など,2つの方向の組み合わせ

26 連結

面,エッジまたはコーナーが接触している場合,ピクセルは連結されます。ピクセルの近傍は次のように隣接するピクセルです。

  • 次のいずれかの方向:奥,手前,左,右,上および下

  • 右下または上の奥など,2つの方向の組み合わせ

  • 右上の奥または左下の奥など,3つの方向の組み合わせ

高次元の場合,分水岭は既定値conndef(ndims (A),“最大”)を使用します。

連結性は,01から成る3×3×……×3行列を指定し,任意の次元に対してより一般的に定義することもできます。1の値を持つ要素は,康涅狄格州の中心要素に対する近傍の位置を定義します。康涅狄格州は,その中心要素に関して対称でなければなりません。詳細については,カスタム連結性の定義を参照してください。

メモ

既定以外の連結性を設定した場合,イメージのエッジ上のピクセルは,境界上のピクセルであるとは見なされません。たとえば,Conn = [0 0 0;1 1 1;0 0 0)の場合,最初と最後の行の上の要素は,連結性の定義に従って,イメージの外側の領域と接続していないため境界のピクセルとは見なされません。

データ型:|逻辑

出力引数

すべて折りたたむ

ラベル行列。非負の整数の数値配列として指定します。0とラベル付けされた要素は,固有の分水岭領域には属しません。1とラベル付けされた要素は,最初の分水岭領域に属し,2とラベル付けされた要素は,2番目の分水岭領域に属する,というようになります。

ヒント

  • この関数で使用される分水岭変換アルゴリズムは,图像处理工具箱™ソフトウェアのVersion 5.4 (R2007a)で変更されています。以前のアルゴリズムにより,連続的ではない,ラベルの付いた分水岭領域が生成される場合があります。以前のアルゴリズムと同じ結果を得る必要がある場合は,関数watershed_oldを使用してください。

  • オーバーセグメンテーションを防ぐには,関数分水岭を使用する前に関数imhminを使用して,浅い位置にある最小値をイメージから削除します。

アルゴリズム

分水岭は费尔南德•迈耶アルゴリズムを使用します[1]

参照

[1] Meyer, Fernand,“地形距离和分水岭线”,《信号处理》,第38卷,1994年7月,第113-125页。

拡張機能

R2006aより前に導入