说明
= imresize(,) 返回图像 B,它是将 A 的长宽大小缩放 scale 倍之后的图像。输入图像 A 可以是灰度、RGB 或二值图像。如果 A 有两个以上维度,则 imresize 只调整前两个维度的大小。如果 scale 在 [0, 1] 范围内,则 B 比 A 小。如果 scale 大于 1,则 B 比 A 大。默认情况下,imresize 使用双三次插值。
= imresize(,) 返回图像 B,其行数和列数由二元素向量 指定。
[,] = imresize(,,___) 调整索引图像 X 的大小,其中 map 是与该图像关联的颜色图。默认情况下,imresize 返回经过优化的新颜色图 (newmap) 和已调整大小的图像。要返回与原始颜色图相同的颜色图,请使用 'Colormap' 参数。
___ = imresize(___,) 指定使用的插值方法。
___ = imresize(___,) 返回调整大小后的图像,其中 Name,Value 对组控制大小调整操作的各个方面。
示例
使用默认插值方法将图像的长宽缩小二分之一
将图像加载到工作区。
I = imread('ngc6543a.jpg');
将图像的长宽缩小二分之一。
J = imresize(I, 0.5);
显示原始图像和调整大小后的图像。
figure, imshow(I), figure, imshow(J)
使用最近邻插值方法将长宽缩小二分之一
将图像加载到工作区。
I = imread('ngc6543a.jpg');
使用最近邻插值方法将长宽缩小二分之一。这是最快的方法,但质量最差。
J = imresize(I, 0.5, 'nearest');
显示原始图像和调整大小后的图像。
figure imshow(I)
figure imshow(J)
调整 RGB 图像的大小
将 RGB 图像读取到工作区。
RGB = imread('peppers.png');
将 RGB 图像的大小调整为 行。imresize 会自动计算列数。
RGB2 = imresize(RGB, [ NaN]);
显示原始图像和调整大小后的图像。
figure imshow(RGB)
figure imshow(RGB2)
调整索引图像的大小
将索引图像读取到工作区。
[X, map] = imread('corn.tif');
将索引图像的长宽缩小二分之一。
[Y, newmap] = imresize(X, map, 0.5);
显示原始图像和调整大小后的图像。
figure imshow(X,map)
figure imshow(Y, newmap)
输入参数
A - 要调整大小的图像
实数非稀疏数值数组或逻辑数组
要调整大小的图像,指定为实数非稀疏数值数组。
数据类型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical
scale - 大小调整因子
实数标量
大小调整因子,指定为实数数值标量。
数据类型: single | double | int8 | int16 | int32 | int | uint8 | uint16 | uint32 | uint
[numrows numcols] - 输出图像的行和列维度
由正值组成的二元素数值向量
输出图像的行和列维度,指定为由正值组成的二元素数值向量。numrows 或 numcols 可以为 NaN 值,在这种情况下,imresize 将自动计算行数或列数,以保持图像的纵横比。
数据类型: single | double | int8 | int16 | int32 | int | uint8 | uint16 | uint32 | uint
X - 要调整大小的索引图像
实数非稀疏数值数组
要调整大小的索引图像,指定为实数非稀疏数值数组。
示例: [X2, newmap] = imresize(X,map,0.75);
数据类型: double | uint8 | uint16
map - 与索引图像关联的颜色图
m×3 数值数组
与索引图像关联的颜色图,指定为 m×3 数值数组。
数据类型: double
method - 插值方法
'bicubic' (默认) | 字符向量 | 二元素元胞数组
插值方法,指定为字符向量或二元素元胞数组。
当 method 是字符向量时,它标识下表中列出的特定方法或指定的插值核。
| 方法 | 说明 |
|---|---|
|
| 最近邻插值;赋给输出像素的值就是其输入点所在像素的值。不考虑其他像素。 |
|
| 双线性插值;输出像素值是最近 2×2 邻点中的像素的加权平均值 |
|
| 双三次插值;输出像素值是最近 4×4 邻点中的像素的加权平均值 注意双三次插值可能生成在原始范围之外的像素值。 |
| 插值核 | 说明 |
'box' | 盒形核 |
'triangle' | 三角形核(等效于 'bilinear') |
'cubic' | 三次方核(等效于 'bicubic') |
'lanczos2' | Lanczos-2 核 |
'lanczos3' | Lanczos-3 核 |
当 method 是二元素元胞数组时,用来定义自定义插值核。元胞数组的形式为 {f,w},其中 f 是自定义插值核的函数句柄,w 是自定义核的宽度。f(x) 在区间 -w/2 <= x < w/2 外的值必须为零。函数句柄 f 可通过标量或向量输入进行调用。对于用户指定的插值核,输出图像可以有一些值稍微超出输入图像中的像素值范围。
数据类型: char | cell
名称-值对组参数
指定可选的、以逗号分隔的 Name,Value 对组参数。Name 为参数名称,Value 为对应的值。Name 必须放在引号中。您可采用任意顺序指定多个名称-值对组参数,如 Name1,Value1,...,NameN,ValueN 所示。
I2 = imresize(I,0.5,'Antialiasing',false);
'Antialiasing' - 缩小图像时消除锯齿
true | false
缩小图像时消除锯齿,以逗号分隔的对组形式指定,该对组由 'Antialiasing' 和逻辑布尔值 true 或 false 组成。默认值取决于插值方法。如果插值方法是最近邻插值 ('nearest'),则默认值为 false。对于其他所有插值方法,默认值为 true。
数据类型: logical
'Colormap' - 返回优化的颜色图
'optimized' (默认) | 'original'
返回优化的颜色图,以逗号分隔的对组形式指定,该对组由 'Colormap' 和字符向量 'optimized' 或 'original' 组成。(仅限于索引图像。)如果设置为 'original',则输出颜色图 (newmap) 与输入颜色图 (map) 相同。如果设置为 'optimized',则 imresize 返回经过优化的新颜色图。
数据类型: char
'Dither' - 执行颜色抖动
true (默认) | false
执行颜色抖动,以逗号分隔的对组形式指定,该对组由 'Dither' 和逻辑布尔值 true 或 false 组成。(仅限于索引图像。)
执行抖动时,会对图像应用一种噪声,以使量化误差随机化并防止出现大范围色块。
数据类型: logical
'Method' - 插值方法
'bicubic' (默认) | 字符向量 | 元胞数组
插值方法,以逗号分隔的对组形式指定,该对组由 'Method' 和一个字符向量或二元素元胞数组组成。有关详细信息,请参阅 。
数据类型: char | cell
'OutputSize' - 输出图像的大小
二元素数值向量
输出图像的大小,以逗号分隔的对组形式指定,该对组由 'OutputSize' 和一个 [numrows numcols] 形式的二元素向量组成。
数据类型: single | double | int8 | int16 | int32 | int | uint8 | uint16 | uint32 | uint
'Scale' - 大小调整缩放因子
正数值标量 | 由正值组成的二元素向量
大小调整缩放因子,以逗号分隔的对组形式指定,该对组由 'Scale' 和一个正数值标量或由正值组成的二元素向量组成。
数据类型: single | double | int8 | int16 | int32 | int | uint8 | uint16 | uint32 | uint
输出参数
B - 调整大小后的图像
实数非稀疏数值数组
调整大小后的图像,以实数非稀疏数值数组的形式返回,图像的类与输入图像相同。
Y - 调整大小后的索引图像
实数非稀疏数值数组
调整大小后的索引图像,以实数非稀疏数值数组的形式返回,图像的类与输入图像相同。
newmap - 优化后的颜色图
m×3 数值数组
优化后的颜色图,以 m×3 数值数组的形式返回。
提示
-
如果输出图像的大小不是整数,则
imresize不会使用指定的比例。imresize在计算输出图像大小时使用ceil。