Main Content

impoint

(非推奨) ドラッグ可能な点の作成

関数 impoint は推奨されません。代わりに、新しい Point ROI オブジェクトを使用してください。新しい ROI 作成簡易関数 drawpoint を使用することもできます。詳細については、バージョン履歴を参照してください。

説明

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

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

作成

説明

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

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

h = impoint(hparent,position) はドラッグ可能な点を position で定義される座標に作成します。

h = impoint(hparent,x,y) はドラッグ可能な点を x および y で定義される (x, y) 座標に作成します。

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

入力引数

すべて展開する

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

点の位置。[x y] 形式の 2 要素ベクトルとして指定します。

点の x 座標。数値スカラーとして指定します。

点の y 座標。数値スカラーとして指定します。

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

プロパティ

すべて展開する

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

データ型: logical

使用法

対話型構文で impoint を呼び出すと、ポインターはイメージ上で十字形 に変わります。マウスをクリック アンド ドラッグして、点の位置を指定します。点では、その外観や動作などを制御するコンテキスト メニューがサポートされています。

Blue point displayed over an image, with a context menu that gives options to copy the position, set the color, or delete the point.

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

対話型動作説明
点の移動。マウス ポインターを点上に移動します。マウス ポインターが花形 に変わります。マウスをクリック アンド ドラッグして、点を移動します。
点の表示に使用する色の変更。 マウス ポインターを点上に移動します。右クリックで表示されるコンテキスト メニューから [色の設定] を選択し、使用する色を指定します。
点の座標の取得。マウス ポインターを点上に移動します。右クリックで表示されるコンテキスト メニューから [位置のコピー] を選択し、点の座標 [X Y] を指定する 1 行 2 列の配列をクリップボードにコピーします。
点の削除。ポインターを点の上に移動します。右クリックして、コンテキスト メニューから [削除] を選択します。コンテキスト メニューからこのオプションを削除するには、Deletable プロパティを false に設定します。h = impoint(); h.Deletable = false;

オブジェクト関数

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

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

すべて折りたたむ

関数 impoint を使用してカスタム色の設定、ラベルの設定、境界の強制的な制約、点の移動に伴うタイトル内の位置の更新を行います。

imshow("rice.png")
h = impoint(gca,100,200);

addNewPositionCallback を使用して、新しい位置でタイトルを更新します。

addNewPositionCallback(h,@(h) title(sprintf('(%1.0f,%1.0f)',h(1),h(2))));

makeConstrainToRectFcn を使用して境界制約関数を作成します。

fcn = makeConstrainToRectFcn("impoint",get(gca,"XLim"),get(gca,"YLim"));

setPositionConstraintFcn を使用して境界制約関数を実行します。

setPositionConstraintFcn(h,fcn);
setColor(h,"r");
setString(h,"Point label");

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

imshow("pout.tif")
h = impoint(gca,[]);
position = wait(h);

ヒント

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

バージョン履歴

R2006a より前に導入

すべて折りたたむ

R2018b: 関数 impoint は非推奨

R2018b 以降、既存の ROI オブジェクトのセットが新しい ROI オブジェクトのセットに置き換えられています。新しいオブジェクトは、面の色の透明度など、さらに便利な機能を提供します。新しいクラスでは、移動やクリックなどの ROI の変化に応答するために使用できるイベントもサポートされています。現時点では、以前の ROI オブジェクトを削除する予定はありませんが、追加された機能や柔軟性を活用するために、新しい ROI に切り替えてください。新しい ROI 関数を使用した ROI の作成方法の詳細については、ROI の形状の作成を参照してください。

impoint ROI オブジェクトを使用する代わりに、新しい Point ROI オブジェクトを使用してください。ROI 作成簡易関数 drawpoint を使用することもできます。

ROI 作成コードの更新

impoint のすべてのインスタンスを更新してください。

非推奨の使用方法推奨される代替案

この例では点 ROI を作成します。

imshow("cameraman.tif");
h = impoint(gca,[25 50]);

次のコードは等価なコードで、古い ROI オブジェクトが新しい ROI オブジェクトに置き換えられています。この例では、ROI 作成簡易関数を使用しています。サイズと位置の情報を名前と値の引数として指定しなければならないことに注意してください。

imshow("cameraman.tif");
h = drawpoint(gca,"Position",[25 50]);
その他の ROI コードの更新

impoint ROI オブジェクトのいずれかのオブジェクト関数を使用するコードを更新してください。多くの場合、単純に Point ROI オブジェクト プロパティの値にアクセスするかその値を設定することによって、オブジェクト関数 impoint の呼び出しを置き換えることができます。たとえば、getColor または setColor の呼び出しの代わりに Color プロパティを使用します。場合によっては、オブジェクト関数 impoint を新しい Point ROI のオブジェクト関数に置き換えなければなりません。個々の ROI オブジェクト関数 impoint には、新しい Point ROI オブジェクトへの移行に関する情報が含まれています。移行の概要については、ROI の移行を参照してください。