修复Matlab中所有图像的大小ROI

时间:2013-03-19 16:05:02

标签: matlab image-processing roi

我有多个图像,我正在使用imcrop功能来获取图像的ROI。 imcrop的问题在于它为每个图像提供了不同的ROI大小。我想为每张图片获取相同大小的ROI。在imcrop中有一个选项,我可以通过它选择大小,但为此我需要保持我的ROI修复位置。我想修改窗口大小但是在图像上改变窗口的位置。在Matlab中是否有可用于此功能的功能?

2 个答案:

答案 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]作为输入。因此,如果您想要保持大小固定,则必须保持widthheight不变,并更改xminymin这是矩形的左上角。

我想再告诉你一个可以使用的功能,即roipoly。您将顶点的坐标作为函数的输入与图像一起给出。因此,如果您想要六角形投资回报率,您可以给出6分作为输入。然后,您将获得一个二元掩码,您可以将其乘以获得投资回报率。