Main Content

imellipse

(非推奨) ドラッグ可能な楕円を作成

関数 imellipse は推奨されません。代わりに Ellipse ROI オブジェクトを使用してください。ROI 作成簡易関数 drawellipse を使用することもできます。imellipse を使用して円 ROI を作成した場合、代わりに Circle ROI オブジェクトを使用してください。詳細については、互換性の考慮事項を参照してください。

説明

imellipse オブジェクトはイメージ上に対話型で楕円をカプセル化します。

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

作成

説明

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

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

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

また、h = imellipse(___,"PositionConstraintFcn",fcn) は、位置制約関数 fcn を使用して楕円をドラッグできる場所を指定します。

入力引数

すべて展開する

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

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

位置制約関数。関数ハンドルとして指定します。fcn はマウスをドラッグできるときはいつでも呼び出せます。この関数を使用して、楕円をドラッグできる場所を制御します。有効な関数ハンドルの詳細については、関数 setPositionConstraintFcn のヘルプを参照してください。

プロパティ

すべて展開する

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

データ型: logical

使用法

対話型構文で imellipse を呼び出すと、ポインターはイメージ上では十字形 に変わります。マウスをクリック アンド ドラッグして、楕円のサイズと位置を指定します。また、コンテキスト メニューを使用して、その外観や動作などを制御できます。このコンテキスト メニューを表示するには、楕円を右クリックします。

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

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

オブジェクト関数

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

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

すべて折りたたむ

楕円を作成します。

imshow("coins.png")
h = imellipse(gca,[10 10 100 100]);

コールバックを使用して、Figure のタイトルに更新した位置を表示します。この例では、元の XLimYLim の内部に楕円を保つために、makeConstrainToRectFcn を使用します。

addNewPositionCallback(h,@(p) title(mat2str(p,3)));
fcn = makeConstrainToRectFcn("imellipse",get(gca,"XLim"),get(gca,"YLim"));
setPositionConstraintFcn(h,fcn);

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

imshow("coins.png")
h = imellipse;
position = wait(h);

ヒント

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

バージョン履歴

R2007b で導入

すべて展開する