メインコンテンツ

roipoly

多角形の関心領域 (ROI) の指定

説明

対話形式による多角形の作成

BW = roipoly は、現在の Figure に表示されたイメージに関連付けられた対話型多角形ツールを作成します。roipoly はマスクをバイナリ イメージとして返します。このとき、ROI 内部のピクセルを 1 に、ROI の外側のピクセルを 0 に設定します。

この構文やその他の対話型構文を使用すると、多角形選択ツールは操作が完了するまで MATLAB® コマンド ラインをブロックします。多角形選択ツールの使用方法の詳細については、対話型動作を参照してください。

BW = roipoly(I) は、Figure ウィンドウにグレースケールまたは RGB イメージ I を表示し、イメージに関連付けられた対話型多角形選択ツールを作成します。

頂点の指定による多角形の作成

BW = roipoly(I,xi,yi) は、多角形の頂点の (x, y) 座標を (xi, yi) として指定します。

BW = roipoly(xref,yref,I,xi,yi) は、xrefyref で定義されるワールド座標系で多角形の頂点の座標を指定します。多角形の頂点は、この座標系での (x, y) 座標 xi および yi を持っています。

追加出力オプションの指定

[BW,xi2,yi2] = roipoly(___) は、閉じた多角形の頂点の座標 xi2yi2 も返します。他の任意の構文の入力引数を使用できます。

[xrefout,yrefout,BW,xi2,yi2] = roipoly(___)xrefoutyrefout のイメージ範囲も返します。

出力引数を指定せずに roipoly(___) を呼び出すと、新しい Figure ウィンドウに結果のマスク イメージを表示します。

すべて折りたたむ

イメージをワークスペースに読み取ります。

I = imread('eight.tif');

マスクの多角形の頂点を定義します。

c = [222 272 300 270 221 194];
r = [21 21 75 121 121 75];

バイナリ マスク イメージを作成します。

BW = roipoly(I,c,r);

元のイメージと多角形マスクを表示します。

imshow(I)

Figure contains an axes object. The hidden axes object contains an object of type image.

figure
imshow(BW)

Figure contains an axes object. The hidden axes object contains an object of type image.

入力引数

すべて折りたたむ

グレースケールまたは RGB イメージ。それぞれ、mn 列の数値行列または m x n x 3 の数値配列として指定します。

多角形の頂点の x 座標。yi と同じ長さの数値ベクトルとして指定します。xref を使用してワールド座標系のイメージ範囲を指定した場合、xi はこの座標系になります。そうでない場合、xi は既定の座標系になります。

多角形の頂点の y 座標。xi と同じ長さの数値ベクトルとして指定します。yref を使用してワールド座標系のイメージ範囲を指定した場合、yi はこの座標系になります。そうでない場合、yi は既定の座標系になります。

ワールド座標の x 次元に沿ったイメージ範囲。[xmin xmax] 形式の 2 要素数値ベクトルとして指定します。xref の値はイメージ XData を設定します。

ワールド座標の y 次元に沿ったイメージ範囲。[ymin ymax] 形式の 2 要素数値ベクトルとして指定します。yref の値はイメージ YData を設定します。

出力引数

すべて折りたたむ

バイナリ イメージ。mn 列の logical 行列として返されます。

データ型: logical

閉じた多角形の頂点の x 座標。yi2 と同じ長さの数値ベクトルとして返されます。ベクトルの最初と最後の要素は同じです。つまり多角形は閉じています。xref を使用してワールド座標系のイメージ範囲を指定した場合、xi2 はこの座標系になります。そうでない場合、xi2 は既定の座標系になります。

閉じた多角形の頂点の y 座標。xi2 と同じ長さの数値ベクトルとして返されます。ベクトルの最初と最後の要素は同じです。つまり多角形は閉じています。yref を使用してワールド座標系のイメージ範囲を指定した場合、yi2 はこの座標系になります。そうでない場合、yi2 は既定の座標系になります。

ワールド座標の x 次元に沿ったイメージ範囲。[xmin xmax] 形式の 2 要素数値ベクトルとして返されます。xref を使用してワールド座標系のイメージ範囲を指定した場合、xrefoutxref と等しくなります。その他の場合、xrefout は元のイメージ XData と等しくなります。

ワールド座標の y 次元に沿ったイメージ範囲。[ymin ymax] 形式の 2 要素数値ベクトルとして返されます。yref を使用してワールド座標系のイメージ範囲を指定した場合、yrefoutyref と等しくなります。その他の場合、yrefout は元のイメージ YData と等しくなります。

詳細

すべて折りたたむ

ヒント

  • roipoly は常に、閉じた多角形を生成します。閉じた多角形 (座標の最後の組は最初の組と同一) の入力頂点の位置を指定すると、出力座標ベクトルの長さは指定された点の数と同じになります。指定された点が閉じた多角形を表さない場合、roipoly は最初の点と同じ座標をもつ最後の点を追加します。この場合、出力座標のベクトルの長さは指定した点の数より 1 点分長くなります。

  • ROI 境界上のピクセルの分類の詳細については、ROI によって部分的に囲まれたピクセルの分類を参照してください。

  • roipoly 構文のいずれかの場合、入力イメージ I を任意のイメージの行と列の次元を指定する、2 つの引数 m および n と置き換えることができます。たとえば、次のコマンドは 100 行 200 列のバイナリ マスクを作成します。

    c = [112 112 79 79];
    r = [37 66 66 37];
    BW = roipoly(100,200,c,r);

    mnroipoly の対話型形式で指定すると、mn 列の黒いイメージが表示されます。マウスを使用してこのイメージ内の多角形を指定します。

拡張機能

すべて展開する

バージョン履歴

R2006a より前に導入

すべて展開する