imcrop matlab没有返回正确的大小

时间:2013-01-30 20:06:41

标签: image-processing matlab matlab-figure

我想使用imcrop在matlab中裁剪图像。但是,有时它会产生比我想要的尺寸更大的图像。基本上,我的问题与此相同。 http://www.mathworks.se/matlabcentral/answers/46737-how-do-i-make-the-imcrop-function-accurate-to-the-pixel  但是,即便这样也没有解决。请帮忙!

2 个答案:

答案 0 :(得分:2)

imcrop确实返回“正确大小”,即文档中指定的大小。矩形r1 = [20 20 40 30] 总是有时不是21 x 11像素宽。

如果您对正确尺寸的期望不同,则可以对矩形进行不同的索引。如果您想要一个矩形,其左上角为像素(20,20),高20像素,宽10像素,则可以指定r1 = [20, 20, 39, 29]

imcrop的工作方式与此类似,因为它对由像素组成的图像数据进行操作。像素被索引,而不是空间中的点。在数学上,一个点没有宽度,没有高度,但像素的宽度和高度只有一个像素。

为了提供一个极端的例子,r2 = [5, 6, 8, 9]包括第5行到第6行以及第8列到第9行的像素,因此是2 x 2像素宽。

答案 1 :(得分:2)

我无法真正解决问题。但是,我应用了一个简单的工作。我用imcrop来剪裁所需的尺寸。然后再将裁剪后的图像调整到所需的大小。