MATLAB imresize():调整图像大小(附带实例)
在 MATLAB 中,imresize() 函数用来调整图像大小,它的调用格式及说明如下表所示:
【实例 1】缩放图像。在 MATLAB 命令行窗口中输入如下命令:

图 1 显示图像
【实例 2】水平合成图片。第 1 张图片 flower.jpg 的尺寸为 180*240*3,第 2 张图片 fish.jpg 的尺寸为 240×300×3,生成图片 c=[a;b]。
在 MATLAB 命令窗口中输入如下命令:

图 2 显示图像
调用格式 | 说明 |
---|---|
B = imresize(A,scale) | 将图像 A 的长宽大小缩放 scale 倍之后,返回图像 B。如果 scale 在 [0, 1] 范围,则 B 比 A 小。如果 scale 大于 1,则 B 比 A 大 |
B = imresize(A,[numrows numcols]) | 返回图像 B,其行数和列数由二元素向量(numrows, numcols)指定 |
[Y, newmap] = imresize(X, map, …) | 调整索引图像 X 的大小,其中 map 是与该图像关联的颜色图。返回经过优化的新颜色图 (newmap) 和已调整大小后的图像 |
… = imresize(…,method) | 指定使用的插值方法 method。默认情况下,使用双三次插值 |
… = imresize(…,Name, Value) | 返回调整大小后的图像,其中名称-值对组参数控制大小调整操作的各个方面,参数表如表 2 所示 |
属性名 | 说明 | 参数值 |
---|---|---|
Antialiasing | 缩小图像时消除锯齿 | true、false |
Colormap | 返回优化的颜色图 | optimized(默认)、original |
Dither | 执行颜色抖动 | true(默认)、false |
Method | 插值方法 | bicubic(默认)、字符向量、元胞数组 |
OutputSize | 输出图像的大小 | 二元素数值向量 |
Scale | 大小调整缩放因子 | 正数值标量,由正值组成的二元素向量 |
【实例 1】缩放图像。在 MATLAB 命令行窗口中输入如下命令:
>> close all % 关闭当前已打开的文件 >> clear % 清除工作区的变量 >> I = imread('picture.jpg'); % 将当前路径下的图像读取到工作区中 >> J = imresize(I,0.1,'nearest'); % 采用最近邻插值(nearest)将图像的长宽缩小为原图的0.1 >> K = imresize(I,0.3, 'bilinear'); % 采用双线性插值将图像的长宽缩小为原图的0.3 >> M = imresize(I,0.5,'bicubic'); % 采用默认的双三次插值将图像的长宽缩小为原图的0.5 >> figure,imshow(I);title('原图'); % 显示图像 >> figure,imshow(J);title('最近邻插值') >> figure,imshow(K);title('双线性插值') >> figure,imshow(M);title('双三次插值')运行结果如下图所示:

图 1 显示图像
【实例 2】水平合成图片。第 1 张图片 flower.jpg 的尺寸为 180*240*3,第 2 张图片 fish.jpg 的尺寸为 240×300×3,生成图片 c=[a;b]。
在 MATLAB 命令窗口中输入如下命令:
>> close all % 关闭当前已打开的文件 >> clear % 清除工作区的变量 >> I = imread('flower.jpg'); % 将分辨率为240×180的图像1加载到工作区 >> J = imread('fish.jpg'); % 将分辨率为300×240的图像2加载到工作区 >> J = imresize(J,[180 NaN]); % 调整图像大小,将其中一幅图缩小或放大,让两幅图大小相等或者行数相等 >> K = [I J]; % 水平合成图片 >> imshow(K) % 显示图片运行结果如下图所示:

图 2 显示图像