函式功能
該函式用於對圖像做縮放處理。在matlab的命令視窗中輸入doc imresize或者help imresize即可獲得該函式的幫助信息。
調用格式
B = imresize(A, m)
返回的圖像B的長寬是圖像A的長寬的m倍,即縮放圖像。 m大於1, 則放大圖像; m小於1, 縮小圖像。
B = imresize(A, [numrows numcols])
numrows和numcols分別指定目標圖像的高度和寬度。 顯而易見, 由於這種格式允許圖像縮放後長寬比例和源圖像長寬比例不相同,因此所產生的圖像有可能發生畸變。
[Y newmap] = imresize(X, map, scale)
[...] = imresize(..., method)
method參數用於指定在改變圖像尺寸時所使用的算法, 可以為以下幾種:
'nearest': 這個參數也是默認的, 即改變圖像尺寸時採用最近鄰插值算法;
'bilinear':採用雙線性插值算法;
'bicubic': 採用雙三次插值算法,在R2013a版本里,默認為這種算法,所以不同版本可能有不同的默認參數,使用之前建議使用命令help imresize獲得幫助信息,以幫助信息為準;
[...] = imresize(..., parameter, value,...)
相關概念
相關函式:
imrotate, imtransform, tformarray,interp2in the MATLAB FunctionReference
程式示例
示例一
Shrink by factor of two using the defaults of bicubic interpolationand antialiasing.
I = imread('rice.png');
J = imresize(I, 0.5);
figure, imshow(I), figure, imshow(J)
示例二
Shrink by factor of two using nearest-neighbor interpolation. (This is the fastest method, but it has the lowest quality.)
J2 = imresize(I, 0.5, 'nearest');
示例三
Resize an indexed image
[X, map] = imread('trees.tif');
[Y, newmap] = imresize(X, map, 0.5);
imshow(Y, newmap)
示例四
Resize an RGB image to have 64 rows. The number of columnsis computed automatically.
RGB = imread('peppers.png');
RGB2 = imresize(RGB, [64 NaN]);