Main Content

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

imrect

(非推奨) ドラッグ可能な四角形の作成

関数 imrect は推奨されません。代わりに、新しい Rectangle ROI オブジェクトを使用してください。新しい ROI 簡易関数 drawrectangle を使用することもできます。詳細については、互換性の考慮事項を参照してください。

説明

imrect オブジェクトはイメージ上に対話型で四角形をカプセル化します。

マウスを使用して、四角形のサイズと位置を調整できます。四角形には、その外観や動作などを制御するコンテキスト メニューもあります。詳細については、使用方法を参照してください。

作成

説明

h = imrect は、現在の座標軸で四角形の対話型の配置を開始し、imrect オブジェクトを返します。

h = imrect(hparent) は、hparent で指定されるオブジェクトに四角形の対話型の配置を開始します。

h = imrect(hparent,position) は、hparent で指定されたオブジェクト上の位置 position にドラッグ可能な四角形を作成します。

h = imrect(___,Name,Value) は、四角形の動作をコントロールする名前と値のペアを指定します。

入力引数

すべて展開する

親オブジェクトのハンドル。ハンドルとして指定します。親は通常 axes オブジェクトですが、hggroup オブジェクトの親である他の任意のオブジェクトにもなります。

四角形の位置。[xmin ymin width height] 形式の 4 要素ベクトルとして指定します。四角形の初期サイズは width x height で、四角形の左上隅は (x,y) 座標 (xmin,ymin) です。

名前と値のペアの引数

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

位置制約関数。'PositionConstraintFcn' と関数ハンドルで構成されるコンマ区切りのペアとして指定します。fcn はマウスをドラッグできるときはいつでも呼び出せます。この関数を使用して、四角形をドラッグできる場所を制御します。有効な関数ハンドルの詳細については、関数 setPositionConstraintFcn のヘルプを参照してください。

プロパティ

すべて展開する

ROI が削除可能。true または false を指定します。

データ型: logical

使用法

対話型構文で imrect を呼び出すと、ポインターはイメージ上で十字形 に変わります。四角形を作成してから、マウスを使用してサイズと位置を調整できます。四角形では、その外観や動作などを制御するコンテキスト メニューもサポートされています。このコンテキスト メニューを表示するには、四角形を右クリックします。

表に imrect がサポートしている対話型動作を示します。

対話型動作説明
四角形の移動四角形内のポインターを移動します。ポインターが花形 に変わります。マウスをクリック アンド ドラッグして、四角形を移動します。
四角形のサイズ変更 ポインターを四角形の任意の辺または角に動かすと、形が両方向の矢印 に変わります。マウスを使用して辺または角をクリック アンド ドラッグします。
四角形の色の変更四角形内のポインターを移動します。右クリックで表示されるコンテキスト メニューから [色の設定] を選択します。
現在の位置の座標の取得多角形内のポインターを移動します。右クリックして、コンテキストメニューから [位置のコピー] を選択します。imrect は、4 要素の位置ベクトルをクリップボードにコピーします。
対話型でサイズ変更の実行時に四角形の現在の縦横比を維持します。 四角形内のポインターを移動します。右クリックして、コンテキスト メニューから [縦横比を固定] を選択します。
四角形の削除ポインターを四角形内または四角形の辺に移動します。右クリックして、コンテキスト メニューから [削除] を選択します。コンテキスト メニューからこのオプションを削除するには、Deletable プロパティを false に設定します。h = imrect(); h.Deletable = false;

setResizeable を使用して四角形のサイズ変更を不可にすると、[縦横比を固定] コンテキスト メニュー項目は表示されません。

オブジェクト関数

imrect オブジェクトは、多数の関数をサポートしています。詳細なリストを参照するには、methods imrect を入力してください。

addNewPositionCallbackROI オブジェクトに新しい位置のコールバックを追加する
createMaskイメージ内にマスクを作成する
deleteハンドル オブジェクトの削除
getColorROI オブジェクトの描画に使用する色を取得する
getPositionROI オブジェクトの現在の位置を返す
getPositionConstraintFcn現在の位置制約関数への関数ハンドルを返す
removeNewPositionCallbackROI オブジェクトから新しい位置のコールバックを削除する
resume(非推奨) MATLAB コマンド ラインの実行の再開
setColorROI オブジェクトの描画に使用する色を設定する
setConstrainedPositionROI オブジェクトに新しい位置を設定する
setFixedAspectRatioModeROI オブジェクトをサイズ変更したときに縦横比を維持する
setPosition(非推奨) ROI オブジェクトを新しい位置に移動
setPositionConstraintFcnROI オブジェクトの位置制約関数の設定
setResizableROI オブジェクトのサイズ変更動作の設定
wait(非推奨) ROI の作成が完了するまで MATLAB コマンド ラインをブロックする

四角形移動時にタイトルを更新

イメージ上に四角形の ROI を表示します。タイトルに四角形の位置を表示します。四角形移動時にタイトルを更新します。四角形の 1 辺をドラッグしてイメージの境界外への移動を試みます。

imshow('cameraman.tif')
h = imrect(gca,[10 10 100 100]);
addNewPositionCallback(h,@(p) title(mat2str(p,3)));

元のイメージの XLimYLim の範囲内に四角形を保持するために、makeConstrainToRectFcn を使用して位置制約関数を指定します。

fcn = makeConstrainToRectFcn('imrect',get(gca,'XLim'),get(gca,'YLim'));
setPositionConstraintFcn(h,fcn); 

次に、マウスを使用して四角形をドラッグします。四角形がイメージの境界を越えられなくなっていることを確認します。

クリック アンド ドラッグによる四角形の配置

クリック アンド ドラッグにより四角形を対話形式で配置します。wait を使用して MATLAB® コマンド ラインをブロックします。MATLAB コマンド ラインの実行を再開するには、四角形をダブルクリックします。

imshow('pout.tif');
h = imrect;
position = wait(h);

ヒント

image オブジェクトを含んでいる axes で imrect を使用し、位置制約関数を指定しない場合、イメージの範囲外に四角形をドラッグできます。関数 plot で作成した座標軸で使用すると、座標軸の範囲は四角形の動きに合わせて自動的に拡張されます。

互換性の考慮事項

すべて展開する

R2018b 以降は非推奨

R2006a より前に導入