2013-09-05 129 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

相關問題