我有多个图像,我正在使用imcrop功能来获取图像的ROI。 imcrop的问题在于它为每个图像提供了不同的ROI大小。我想为每张图片获取相同大小的ROI。在imcrop中有一个选项,我可以通过它选择大小,但为此我需要保持我的ROI修复位置。我想修改窗口大小但是在图像上改变窗口的位置。在Matlab中是否有可用于此功能的功能?
答案 0 :(得分: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
答案 1 :(得分:0)
首先,我认为imcrop
没有问题。它需要一个矩形[xmin ymin width height]
作为输入。因此,如果您想要保持大小固定,则必须保持width
和height
不变,并更改xmin
和ymin
这是矩形的左上角。
我想再告诉你一个可以使用的功能,即roipoly。您将顶点的坐标作为函数的输入与图像一起给出。因此,如果您想要六角形投资回报率,您可以给出6分作为输入。然后,您将获得一个二元掩码,您可以将其乘以获得投资回报率。