ドキュメンテーション

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

imline

ドラッグとサイズ変更が可能なラインの作成

構文

h = imline
h = imline(hparent)
h = imline(hparent, position)
h = imline(hparent, x, y)
h = imline(..., param1, val1,...)

説明

h = imline は、現在の座標軸上にラインを対話形式で配置します。この関数は、imline オブジェクトのハンドル h を返します。ラインには、その外観や動作などを制御するコンテキスト メニューが関連付けられています。対話型動作を参照してください。このコンテキスト メニューを表示するには、ラインを右クリックします。

h = imline(hparent) は、hparent で指定したオブジェクト上にラインを対話形式で配置します。hparent は、通常 axes であるラインのグラフィックスの HG の親を指定しますが、hggroups の親にすることが可能なそれ以外のオブジェクトにすることもできます。

h = imline(hparent, position) は、hparent で指定されたオブジェクト上でドラッグとサイズ変更が可能なラインを作成します。position は、[X1 Y1; X2 Y2] の形式でラインの初期端点位置を指定する 2 行 2 列の配列です。

h = imline(hparent, x, y) は、hparent で指定されたオブジェクト上にラインを作成します。xy は、x = [X1 X2], y = [Y1 Y2] の形式でラインの初期端点位置を指定する 2 要素のベクトルです。

h = imline(..., param1, val1,...) は、ラインの動作を制御するパラメーターおよび対応値を指定して、ドラッグとサイズ変更が可能なラインを作成します。以下の表に使用可能なパラメーターを示します。パラメーター名は省略形でも構いません。大文字と小文字は区別されません。

パラメーター説明

'PositionConstraintFcn'

マウスを使用してオブジェクトをドラッグしたときに呼び出される関数ハンドル fcn。この関数を使用して、ラインをドラッグできる場所を制御します。有効な関数ハンドルの詳細は、setPositionConstraintFcn メソッドのヘルプを参照してください。

対話型動作

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

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

メソッド

imline オブジェクトは、多数のメソッドをサポートしています。メソッドの一覧を表示するには、「methods imline」と入力してください。

addNewPositionCallback — ROI オブジェクトに新しい位置のコールバックを追加する

詳細は、imroi を参照してください。

delete — ROI オブジェクトを削除する

詳細は、imroi を参照してください。

getColor — ROI オブジェクトの描画に使用する色を取得する

詳細は、imroi を参照してください。

getPosition — ラインの現在の位置を返す

ラインの端点位置を返します。

pos = api.getPosition()

pos は、2 行 2 列の配列 [X1 Y1; X2 Y2] です。

getPositionConstraintFcn — 現在の位置の制約関数の関数ハンドルを返す

詳細は、imroi を参照してください。

removeNewPositionCallback — ROI オブジェクトから新しい位置のコールバックを削除する

詳細は、imroi を参照してください。

resume — MATLAB コマンド ラインの実行を再開する

詳細は、imroi を参照してください。

setColor — ROI オブジェクトの描画に使用する色を設定する

詳細は、imroi を参照してください。

setConstrainedPosition — ROI オブジェクトを新しい位置に設定する

詳細は、imroi を参照してください。

setPosition — 新しい位置にラインを設定する

setPosition(h,pos) は、ライン h を新しい位置に設定します。新しい位置 pos[X1 Y1; X2 Y2] の形式です。

setPosition(h,x,y) は、ライン h を新しい位置に設定します。xy は、ラインの端点位置を x = [x1 x2], y = [y1 y2] の形式で指定します。

setPositionConstraintFcn — ROI オブジェクトの位置制約関数を設定する

詳細は、imroi を参照してください。

wait — ROI の作成が完了するまで MATLAB コマンド ラインをブロックする

詳細は、imroi を参照してください。

例 1

カスタム色を使用してラインを表示します。addNewPositionCallback メソッドを使用します。ラインを移動します。ラインの 2 行 2 列の位置ベクトルはイメージの上のタイトルに表示されていることに注意してください。ラインを右クリックしてラインのコンテキスト メニューを参照します。

figure, imshow('pout.tif');
h = imline(gca,[10 100], [100 100]);
setColor(h,[0 1 0]);
id = addNewPositionCallback(h,@(pos) title(mat2str(pos,3)));
 
% After observing the callback behavior, remove the callback.
% using the removeNewPositionCallback API function.     
removeNewPositionCallback(h,id);

例 2

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

figure, imshow('pout.tif');
h = imline;
position = wait(h);

ヒント

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

R2006a より前に導入

この情報は役に立ちましたか?