matlab imresize對影象進行縮小放大
matlab中函式imresize簡介:
函式功能:該函式用於對影象做縮放處理。
呼叫格式:
B = imresize(A, m)
返回的影象B的長寬是影象A的長寬的m倍,即縮放影象。 m大於1, 則放大影象; m小於1, 縮小影象。
B = imresize(A, [numrows numcols])
numrows和numcols分別指定目標影象的高度和寬度。 顯而易見,由於這種格式允許影象縮放後長寬比例和源影象長寬比例相同,因此所產生的影象有可能發生畸變。
[...] = imresize(..., method)
method引數用於指定在改變影象尺寸時所使用的演算法,可以為以下幾種:
'nearest': 這個引數也是預設的, 即改變影象尺寸時採用最近鄰插值演算法;
'bilinear':採用雙線性插值演算法;
'bicubic': 採用雙三次插值演算法,在R2013a版本里,預設為這種演算法,所以不同版本可能有不同的預設引數,使用之前建議使用命令help imresize獲得幫助資訊,以幫助資訊為準;
示例一
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]);