Main Content

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

imline

(非推奨) ドラッグとサイズ変更が可能なラインの作成

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

説明

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

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

作成

説明

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

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

h = imline(hparent,position) はドラッグとサイズ変更が可能なラインを position で定義される座標に作成します。

h = imline(hparent,x,y) はドラッグとサイズ変更が可能なラインを、xy で定義される端点の x と y 座標に作成します。

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

入力引数

すべて展開する

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

ラインの端点の位置。[x1 y1; x2 y2] 形式の 2 行 2 列の配列として指定します。

ラインの端点の x 座標。x = [x1 x2] 形式の 2 要素ベクトルとして指定します。

ラインの端点の y 座標。y = [y1 y2] 形式の 2 要素ベクトルとして指定します。

名前と値のペアの引数

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

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

プロパティ

すべて展開する

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

データ型: logical

使用法

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

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

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

オブジェクト関数

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

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

ライン移動時にタイトルを更新

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

imshow('pout.tif')
h = imline(gca,[10 100],[100 100]);
setColor(h,[0 1 0]);
id = addNewPositionCallback(h,@(pos) title(mat2str(pos,3)));

コールバック動作を確認した後、関数 removeNewPositionCallback を使用してコールバックを削除します。

removeNewPositionCallback(h,id);

クリック アンド ドラッグによるラインの配置

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

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

ヒント

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

  • imdistline を使用して、ラインの端点間の距離を表示するテキスト ボックスと共にラインを対話型で作成します。

互換性の考慮事項

すべて展開する

R2018b 以降は非推奨

R2006a より前に導入