2013-09-05 128 views
2

imresize文档here,它提到下列:调整图像大小和保持长宽比

B = imresize(A,[numRows行数numCols])返回,其具有行数 和图像B由[numrows numcols]指定的列。 numrows或 numcols可能是NaN,在这种情况下,imresize会自动计算行数 或列以自动保留图像宽高比。

在以下的部分:

要么numRows行或数numCols可以是NaN,则在这种情况下imresize计算 行或自动的列数以保持图像 宽高比

这里的NaN是在调整图像大小之后出现的,还是它指的是不确定numrowsnumcols

所以,如果我有大小365x147的图像,并希望将其调整到512x512,将宽高比保留所分配numrowsnumcols价值512

谢谢。

回答

2

如果你有大小365x147的图像A并希望将其调整到512x512,使用

B = imresize(A, [512 512]); 

如果你想如高度为512,但要保留比例,请使用

B = imresize(A, [512 NaN]); 
3

答案是否定的。保留宽高比意味着保留像素的物理尺寸比。例如,对于大小为365x147的图像,长宽比长度(y):长度(x)为365:147。要保留长宽比,调整后的图像必须满足长度(y):长度(x)=长度(y)/长度(x):1。

例如,如果您的图像尺寸为365x147,并且想将其大小调整为512x512,则需要将宽高比从365:147更改为512:512,换句话说,从2.48:1更改为1:1 。

在另一方面,如果执行

b = imresize(a,512/147); 

其中A是大小365 X 147,你会(舍入误差内)保持相同的纵横比和生成大小1271的图像x 512.如果执行

b = imresize(a,512/365); 

你保持相同的纵横比,但产生尺寸的图像512×206

相关问题