Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

imresize

调整图像大小

说明

示例

B = imresize(A,scale) 返回图像 B,它是将 A 的长宽大小缩放 scale 倍之后的图像。输入图像 A 可以是灰度、RGB 或二值图像。如果 A 有两个以上维度,则 imresize 只调整前两个维度的大小。如果 scale 在 [0, 1] 范围内,则 BA 小。如果 scale 大于 1,则 BA 大。默认情况下,imresize 使用双三次插值。

示例

B = imresize(A,[numrows numcols]) 返回图像 B,其行数和列数由二元素向量 [numrows numcols] 指定。

示例

[Y,newmap] = imresize(X,map,___) 调整索引图像 X 的大小,其中 map 是与该图像关联的颜色图。默认情况下,imresize 返回经过优化的新颜色图 (newmap) 和已调整大小的图像。要返回与原始颜色图相同的颜色图,请使用 'Colormap' 参数。

示例

___ = imresize(___,method) 指定使用的插值方法。

___ = imresize(___,Name,Value) 返回调整大小后的图像,其中 Name,Value 对组控制大小调整操作的各个方面。

示例

全部折叠

将图像加载到工作区。

I = imread('ngc6543a.jpg');

将图像的长宽缩小二分之一。

J = imresize(I, 0.5);

显示原始图像和调整大小后的图像。

figure, imshow(I), figure, imshow(J)

Figure contains an axes. The axes contains an object of type image.

Figure contains an axes. The axes contains an object of type image.

将图像加载到工作区。

I = imread('ngc6543a.jpg');

使用最近邻插值方法将长宽缩小二分之一。这是最快的方法,但质量最差。

J = imresize(I, 0.5, 'nearest');

显示原始图像和调整大小后的图像。

figure 
imshow(I)

Figure contains an axes. The axes contains an object of type image.

figure
imshow(J)

Figure contains an axes. The axes contains an object of type image.

将 RGB 图像读取到工作区。

RGB = imread('peppers.png');

将 RGB 图像的大小调整为 64 行。imresize 会自动计算列数。

RGB2 = imresize(RGB, [64 NaN]);

显示原始图像和调整大小后的图像。

figure
imshow(RGB)

Figure contains an axes. The axes contains an object of type image.

figure
imshow(RGB2)

Figure contains an axes. The axes contains an object of type image.

将索引图像读取到工作区。

[X, map] = imread('corn.tif');

将索引图像的长宽缩小二分之一。

[Y, newmap] = imresize(X, map, 0.5);

显示原始图像和调整大小后的图像。

figure
imshow(X,map)

Figure contains an axes. The axes contains an object of type image.

figure
imshow(Y, newmap)

Figure contains an axes. The axes contains an object of type image.

输入参数

全部折叠

要调整大小的图像,指定为实数非稀疏数值数组。

数据类型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical

大小调整因子,指定为实数数值标量。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

输出图像的行和列维度,指定为由正值组成的二元素数值向量。numrowsnumcols 可以为 NaN 值,在这种情况下,imresize 将自动计算行数或列数,以保持图像的纵横比。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

要调整大小的索引图像,指定为实数非稀疏数值数组。

示例: [X2, newmap] = imresize(X,map,0.75);

数据类型: double | uint8 | uint16

与索引图像关联的颜色图,指定为 m×3 数值数组。

数据类型: double

插值方法,指定为字符向量或二元素元胞数组。

method 是字符向量时,它标识下表中列出的特定方法或指定的插值核。

方法说明

'nearest'

最近邻插值;赋给输出像素的值就是其输入点所在像素的值。不考虑其他像素。

'bilinear'

双线性插值;输出像素值是最近 2×2 邻点中的像素的加权平均值

'bicubic'

双三次插值;输出像素值是最近 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' 和逻辑布尔值 truefalse 组成。默认值取决于插值方法。如果插值方法是最近邻插值 ('nearest'),则默认值为 false。对于其他所有插值方法,默认值为 true

数据类型: logical

返回优化的颜色图,以逗号分隔的对组形式指定,该对组由 'Colormap' 和字符向量 'optimized''original' 组成。(仅限于索引图像。)如果设置为 'original',则输出颜色图 (newmap) 与输入颜色图 (map) 相同。如果设置为 'optimized',则 imresize 返回经过优化的新颜色图。

数据类型: char

执行颜色抖动,以逗号分隔的对组形式指定,该对组由 'Dither' 和逻辑布尔值 truefalse 组成。(仅限于索引图像。)

执行抖动时,会对图像应用一种噪声,以使量化误差随机化并防止出现大范围色块。

数据类型: logical

插值方法,以逗号分隔的对组形式指定,该对组由 'Method' 和一个字符向量或二元素元胞数组组成。有关详细信息,请参阅 method

数据类型: char | cell

输出图像的大小,以逗号分隔的对组形式指定,该对组由 'OutputSize' 和一个 [numrows numcols] 形式的二元素向量组成。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

大小调整缩放因子,以逗号分隔的对组形式指定,该对组由 'Scale' 和一个正数值标量或由正值组成的二元素向量组成。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

输出参数

全部折叠

调整大小后的图像,以实数非稀疏数值数组的形式返回,图像的类与输入图像相同。

调整大小后的索引图像,以实数非稀疏数值数组的形式返回,图像的类与输入图像相同。

优化后的颜色图,以 m×3 数值数组的形式返回。

提示

  • 如果输出图像的大小不是整数,则 imresize 不会使用指定的比例。imresize 在计算输出图像大小时使用 ceil

扩展功能

另请参阅

(Image Processing Toolbox) | (Image Processing Toolbox) | (Image Processing Toolbox) | (Image Processing Toolbox) | | (Parallel Computing Toolbox)

在 R2006a 之前推出