0

複数の画像があり、imcrop 関数を使用して画像の ROI を取得しています。imcrop の問題は、画像ごとに異なるサイズの ROI が得られることです。各画像に同じサイズの ROI を取得したいと思います。imcrop にはサイズを選択できるオプションがありますが、そのためには ROI の位置を修正する必要があります。ウィンドウのサイズを固定したいのですが、画像上のウィンドウの位置を変更します。Matlab でこの機能に使用できる機能はありますか?

4

2 に答える 2

1

画像から固定サイズのウィンドウを(インタラクティブに)トリミングするための解決策を見つけたと思います。

img = imread('circuit.tif'); %your image
imshow(img);

h = imrect(gca, [75 68 130 112]);
setResizable(h,0)
position = wait(h);
imgc = imcrop(img,position);
figure();
imshow(imgc);

imrect を使用すると、標準の [xmin ymin width height] パラメータを設定できます。xmin と ymin を任意 (0,0; ​​おおよその位置) に設定し、幅と高さを目的の値に設定します。

これで、トリミング ウィンドウを画像の周りにドラッグし、完了したらダブルクリックできます。

よろしく、Piter71

于 2014-08-18T06:29:38.667 に答える
0

まず、に問題はありませんimcrop。入力として四角形[xmin ymin width height]を取ります。したがって、サイズを固定したい場合は、長方形の左上隅を保持widthし、height固定し、変更する必要がxminあります。ymin

使用できるもう 1 つの関数、つまりroipoly について説明したいと思います。頂点の座標を画像とともに関数への入力として指定します。したがって、六角形の ROI が必要な場合は、入力として 6 ポイントを指定します。次に、ROI を取得するために乗算できるバイナリ マスクを取得します。

于 2013-03-19T17:56:27.307 に答える