setPositionConstraintFcn
ROI オブジェクトの位置制約関数の設定
関数 setPositionConstraintFcn
は推奨されません。代わりに、新しい ROI で DrawingArea
プロパティを使用してください。詳細については、互換性の考慮事項を参照してください。
説明
例
四角形移動時にタイトルを更新
イメージ上に四角形の ROI を表示します。
imshow("cameraman.tif")
h = imrect(gca,[10 10 100 100]);
タイトルに四角形の位置を表示します。
addNewPositionCallback(h,@(p) title(mat2str(p,3)));
四角形移動時にタイトルを更新します。四角形の 1 辺をドラッグしてイメージの境界外への移動を試みます。
元の XLim
と YLim
の範囲内に四角形を保持するために、makeConstrainToRectFcn
を使用して位置制約関数を指定します。
fcn = makeConstrainToRectFcn("imrect",get(gca,"XLim"),get(gca,"YLim")); setPositionConstraintFcn(h,fcn);
次に、マウスを使用して四角形をドラッグします。四角形がイメージの境界を越えられなくなっていることを確認します。
入力引数
fcn
— 関数ハンドル
ハンドル
関数ハンドル。ハンドルとして指定します。この関数を作成するには、makeConstrainToRectFcn
を使用します。関数は数値配列を入力として受け入れ、数値配列を出力として返さなければなりません。オブジェクトで getPosition
を呼び出したとき、両方の配列は同じ形式でなければなりません。詳細については、関数ハンドルの作成を参照してください。
バージョン履歴
R2008a で導入R2018b: 関数 setPositionConstraintFcn
は非推奨
R2018b 以降、既存の ROI オブジェクトのセットが新しい ROI オブジェクトのセットに置き換えられています。新しいオブジェクトは、面の色の透明度など、さらに便利な機能を提供します。新しいクラスでは、移動やクリックなどの ROI の変化に応答するために使用できるイベントもサポートされています。現時点では、以前の ROI オブジェクトを削除する予定はありませんが、追加された機能や柔軟性を活用するために、新しい ROI に切り替えてください。新しい ROI 関数を使用した ROI の作成方法の詳細については、ROI の形状の作成を参照してください。
既存の ROI では、ROI を描画または移動できる場所を制御する関数を作成できます。その後、その位置制約関数を ROI に登録します。ROI を描画または移動できる領域を指定するには、DrawingArea
プロパティを使用します。
フリーハンド ROI または多角形 ROI と共に使用している setPositionConstraintFcn
のすべてのインスタンスを更新してください。
非推奨の使用方法 | 推奨される代替案 |
---|---|
この例では、点 ROI を作成し、 imshow("cell.tif") h = impoint(gca,20,60); % Make a function that constrains movement of the point x = get(gca,"XLim"); y = get(gca,"YLim"); fcn = makeConstrainToRectFcn("impoint",x,y);; % Apply the constraint function to the ROI. setPositionConstraintFcn(h,fcn); | 新しい ROI オブジェクトの 1 つを作成し、 imshow("cell.tif") h = drawpoint(gca,"Position",[20 60]) [height width] = size(I); %Get image dimensions h.DrawingArea = [10,10,(width-20),(height-20)]; |
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)