ドキュメンテーション

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

roipoly

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

説明

BW = roipoly は、現在の Figure に表示されたイメージに関連付けられた対話型多角形ツールを作成します。この構文やその他の対話型構文を使用すると、多角形選択ツールは操作が完了するまで MATLAB® コマンド ラインをブロックします。roipoly はマスクをバイナリ イメージとして返します。このとき ROI 内部のピクセルを 1 に ROI の外側のピクセルを 0 に設定します。

多角形選択ツールの使用方法の詳細は、対話型動作を参照してください。

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

BW = roipoly(I,xi,yi) は、既定の空間座標系の X-Y 座標 xi および yi として多角形の頂点を指定します。

BW = roipoly(x,y,I,xi,yi) は、ベクトル x および y を使用して既定ではない空間座標系を定義します。多角形の頂点は、この座標系での座標 xi および yi を持っています。

[BW,xi2,yi2] = roipoly(___) は、閉じた多角形の頂点の座標 xi2yi2 も返します。

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

出力引数を指定せずに 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
imshow(BW)

入力引数

すべて折りたたむ

グレースケールまたは RGB イメージ。グレースケール イメージでは m 行 n 列の数値行列で、RGB イメージでは m x n x 3 の数値配列を指定します。

多角形の頂点の x または y 座標。同じ長さの数値ベクトルとして指定します。x および y 引数を使用して、既定ではない座標系を指定した場合、xiyi はこの座標系の座標を指定します。それ以外の場合、xiyi は既定の座標系の座標を指定します。

ワールド X-Y 座標のイメージ範囲。[min max] 形式の 2 要素数値ベクトルとして指定します。xy の値はイメージの XDataYData を設定します。

出力引数

すべて折りたたむ

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

データ型: 論理値

閉じた多角形の頂点の x または y 座標。同じ長さの数値ベクトルとして返されます。各ベクトルの最初と最後の要素は同じです。つまり多角形は閉じています。x および y 引数を使用して、既定ではない座標系を指定した場合、xi2yi2 はこの座標系にあります。それ以外の場合、xi2yi2 は既定の座標系にあります。

メモ

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

ワールド X-Y 座標のイメージ範囲。[min max] 形式の 2 要素数値ベクトルとして返されます。x および y 引数を使用して、既定ではない座標系を指定した場合、x2y2 はこれらの値と等しくなります。その他の場合、x2y2 は元のイメージ XDataYData と等しくなります。

詳細

すべて折りたたむ

対話型動作

多角形選択ツールにより、マウスを使って対話型で多角形の頂点を選択し調整できます。

多角形ツールがアクティブな状態で、Figure 内のイメージ上にポインターを移動すると、ポインターが十字形 に変わります。マウスを使用して、多角形の頂点を選択することによって領域を指定できます。マウスを使用して多角形を移動したり、サイズを変更することができます。多角形の配置とサイズ変更が完了したら、領域内をダブルクリックするか、右クリックしてコンテキスト メニューから [マスクの作成] を選択してマスクを作成します。

図は、複数の頂点によって定義された多角形を示しています。次の表は、多角形ツールの対話型のすべての動作を示しています。

対話型動作説明
多角形を閉じる(関心領域を完了する)。

次のいずれかの方法を使用してください。

  • 選択した多角形の最初の頂点にポインターを移動します。ポインターが円 に変わります。いずれかのマウス ボタンをクリックします。

  • 左マウス ボタンをダブルクリックします。この操作により、マウス ポインターの下の点に頂点が作られ、この頂点と最初の頂点をつなぐ直線が描画されます。

  • マウスを右クリックします。この操作により、選択された最後の頂点と最初の頂点をつなぐラインが描画されますが、マウスの下の点に新しい頂点は作成されません。

多角形全体の移動ポインターを領域内に移動します。ポインターが花形 に変わります。多角形をクリックしてイメージ上にドラッグします。
多角形の削除

Backspace キー、Escape キーまたは Delete キーを押すか、領域で右クリックして、コンテキスト メニューから [キャンセル] を選択します。

メモ: ROI を削除すると、関数は空の値を返します。

頂点の移動(関心領域の変形)。ポインターを頂点上に移動します。ポインターが円 に変わります。頂点を新しい位置にクリック アンド ドラッグします。
新しい頂点の追加多角形のエッジにポインターを移動し、A キーを押します。ポインターの形状が に変わります。左マウス ボタンをクリックすると、エッジ上のその点に新しい頂点が作成されます。
頂点の削除(関心領域の変形)。ポインターを頂点上に移動します。ポインターが円 に変わります。右クリックしてコンテキスト メニューから [頂点の削除] を選択します。roipoly は、削除した頂点の近傍点である 2 つの頂点の間に新しい直線を描画します。
多角形の色の変更領域の境界内の任意の場所にポインターを移動し、右マウス ボタンをクリックします。コンテキスト メニューから [色の設定] を選択します。
頂点の座標の取得ポインターを領域内に移動します。右クリックしてコンテキスト メニューから [位置のコピー] を選択し、クリップ ボードに現在の位置をコピーします。位置は、各頂点の x と y 座標が含まれる n 行 2 列の配列です。ここで、n は、選択された頂点の数です。

ヒント

  • 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 より前に導入