ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

bwtraceboundary

バイナリ イメージのオブジェクトをトレース

構文

B = bwtraceboundary(BW,P,fstep)
B = bwtraceboundary(bw,P,fstep,conn)
B = bwtraceboundary(bw,P,fstep,conn,n,dir)

説明

B = bwtraceboundary(BW,P,fstep) は、バイナリ イメージ bw 内のオブジェクトの輪郭をトレースします。0 でないピクセルはオブジェクトに属し、0 のピクセルは背景を構成します。P は、トレースを開始するオブジェクトの境界上の点の行と列を指定する 2 要素ベクトルです。

fstep は、P に連結している次のオブジェクトのピクセルの初期探索方向を指定する文字ベクトルです。次の図は、fstep がとりうるすべての値を示しています。

bwtraceboundary は、Q 行 2 列の B を返します。ここで、Q は領域の境界ピクセルの数です。B は境界ピクセルの行座標と列座標です。

B = bwtraceboundary(bw,P,fstep,conn) は、境界をトレースする際に使用する連結性を指定します。conn は、次のスカラー値のいずれかを使用できます。

意味

4

4 連結近傍

メモ

この連結性では、fstep は次の値に制限されています。'N''E''S''W'

8

8 連結近傍。これは既定の設定です。

B = bwtraceboundary(bw,P,fstep,conn,n,dir) は、抽出する最大境界ピクセル数である n と境界をトレースする方向である dir を指定します。n が既定値 Inf に設定された場合、アルゴリズムは境界上のすべてのピクセルを識別します。dir は、次の値のいずれかを使用できます。

意味

'clockwise'

時計回りの方向に探索します。これは既定の設定です。

'counterclockwise'

反時計回りの方向に検索します。

クラス サポート

BW は論理値または数値のいずれかで、かつ実数で 2 次元の非スパースでなければなりません。BPconn および N のクラスは double です。dir および fstep は文字ベクトルです。

すべて折りたたむ

イメージを読み取り、それを表示します。

BW = imread('blobs.png');
imshow(BW,[]);

イメージ内のオブジェクトを選択し、境界をトレースします。オブジェクトを選択するには、境界上のピクセルを指定します。この例では、impixelinfo を使用した視覚的検査で得られる太線の白い円の境界上にあるピクセルの座標を使用します。この例では初期探索方向、連結性、返される境界ピクセルの数、探索を実行する方向を指定します。

r = 163;
c = 37;
contour = bwtraceboundary(BW,[r c],'W',8,Inf,'counterclockwise');

輪郭をイメージにプロットします。

hold on;
plot(contour(:,2),contour(:,1),'g','LineWidth',2);

拡張機能

R2006a より前に導入

この情報は役に立ちましたか?