ドキュメンテーション

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

visboundaries

領域境界のプロット

構文

visboundaries(BW)
visboundaries(B)
visboundaries(AX,___)
obj = visboundaries(___)
H = visboundaries(___,Name,Value)

説明

visboundaries(BW) は現在の座標軸にバイナリ イメージ BW の領域の境界を描画します。BW は、論理値 true のピクセルが前景領域に属し、論理値 false のピクセルが背景を構成する 2 次元バイナリ イメージです。visboundariesbwboundaries を使用してイメージ内の境界ピクセルの位置を特定します。

visboundaries(B)B で指定される領域境界を描画します。ここで、B は領域の境界ピクセルの位置を格納するセル配列であり、bwboundaries の最初の出力に構造が類似しています。各セルには、Q 行 2 列の行列が含まれています。ここで Q は対応する領域の境界ピクセルの数です。これらの Q 行 2 列の配列の各行には、境界ピクセルの行座標と列座標が含まれています。

visboundaries(AX,___) は、AX によって指定された座標軸に領域の境界を描画します。

obj = visboundaries(___) は境界の hggroup オブジェクトを返します。hggroup オブジェクト obj は axes オブジェクト AX の子です。

H = visboundaries(___,Name,Value) は、名前と値のペアの引数を渡して追加の境界のプロパティを指定します。パラメーター名には省略形を使用できます。

すべて折りたたむ

イメージを読み取ります。

BW = imread('blobs.png');

境界を計算します。

B = bwboundaries(BW);

イメージを表示し、境界をイメージにプロットします。

imshow(BW)
hold on
visboundaries(B)

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

I = imread('toyobjects.png');
imshow(I)
hold on

動的輪郭を使用してイメージをセグメント化します。最初に、セグメント化するオブジェクトの近くに初期輪郭位置を指定します。

mask = false(size(I));
mask(50:150,40:170) = true;

元のイメージ上に初期の輪郭を青で表示します。

visboundaries(mask,'Color','b');

'edge' メソッドと 200 回の反復を使用してイメージをセグメント化します。

bw = activecontour(I, mask, 200, 'edge');

最終的な輪郭を元のイメージ上に赤で表示します。

visboundaries(bw,'Color','r');
title('Blue - Initial Contour, Red - Final Contour');

入力引数

すべて折りたたむ

バイナリ イメージ。論理配列として指定します。

データ型: logical

境界ピクセルの位置。行座標と列座標を格納する Q 行 2 列の行列のセル配列として指定します。ここで、Q は対応する領域の境界ピクセルの数です。

データ型: cell

境界を描画するイメージ。axes オブジェクトとして指定します。

データ型: double

名前/値のペアの引数

オプションの Name,Value 引数のペアをコンマ区切りで指定します。ここで、Name は引数名で、Value は対応する値です。Name は単一引用符 (' ') で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順番で指定できます。

例: visboundaries(bw,'Color','r');

すべて折りたたむ

境界の色。MATLAB ColorSpec として指定します。

例: visboundaries(bw,'Color','r');

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char
複素数のサポート: あり

境界のライン スタイル。MATLAB ライン仕様として指定します。

例: visboundaries(bw,'LineStyle','-.');

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

境界に使用するライン幅。数値として指定します。この値はポイント単位で指定します。1 ポイントは 1/72 インチです。

例: visboundaries(bw,'LineWidth', 4);

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

対照的な特徴を使用して、描画された境界を強調し、さまざまな背景での視認性を改善します。true または false の論理フラグとして指定します。

例: visboundaries(bw,'EnhanceVisibility', true);

データ型: logical

出力引数

すべて折りたたむ

境界ライン。hggroup オブジェクトとして指定します。hggroup オブジェクトは axes オブジェクト AX の子です。

R2015a で導入

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