imresize
调整图像
语法
B = imresize(规模)
B = imresize(A,[numrows numcols])
[Y, newmap] = imresize (X,地图,___)
___= imresize (___、方法)
___= imresize (___、名称、值)
gpuarrayB = imresize (gpuarrayA、规模)
gpuarrayB = imresize(gpuarrayA,[numrows numcols])
描述
返回图像B
= imresize (一个
,[numrows numcols]
)B
它的行数和列数由双元素向量指定[numrows numcols]
.
___= imresize (___,
返回调整后的图像名称,值
)名称,值
pair控制调整操作的各个方面。
在GPU上执行调整大小操作,其中gpuarrayB
= imresize (gpuarrayA
,[numrows numcols]
)[numrows numcols]
指定输出图像的大小。
例子
调整图像的大小指定比例因子
将图像读入工作区。
我= imread (“rice.png”);
调整图像的大小,指定缩放因子,并使用默认插值方法和反锯齿。
J = imresize(I, 0.5);
显示原始图像和调整后的图像。
图imshow(我)标题(原始图像的)
图imshow (J)标题(“图像大小”)
在GPU上调整图像的大小
将图像读入工作空间gpuArray
.
I = im2double (gpuArray (imread (“rice.png”)));
调整图像大小,在GPU上执行该操作。
J = imresize(I, 0.5);
显示原始图像和调整后的图像。
图imshow(我)标题(“原始”(J)标题(“图像大小”)
指定比例因子的图像调整与插值方法
将图像读入工作区。
我= imread (“rice.png”);
调整图像的大小,指定缩放因子和插值方法。
J = imresize(I, 0.5,“最近的”);
显示原始图像和调整后的图像。
图imshow(我)标题(原始图像的)
图imshow (J)标题(“使用最近邻调整图片大小”)
调整索引图像
将图像读入工作区。
[X, map] = imread(“trees.tif”);
调整图像的大小,指定比例因子。默认情况下,imresize
返回一个优化的彩色映射,带有调整大小的索引图像。
[Y, newmap] = imresize(X, map, 0.5);
显示原始图像和调整后的图像。
图imshow (X,地图)标题(原始图像的)
图imshow (Y, newmap)标题(“图像大小”)
Resize RGB Image指定输出图像的大小
将图像读入工作区。
RGB = imread (“peppers.png”);
调整图像的大小,指定输出图像有64行。让imresize
计算保持纵横比所需的列数。
RGB2 = imresize(RGB, [64 NaN]);
显示原始图像和调整后的图像。
图imshow (RGB)标题(原始图像的)
图imshow (RGB2)标题(“图像大小”)
在GPU上调整RGB图像的大小
将图像读入工作空间gpuArray
.
RGB = gpuArray (im2single (imread (“peppers.png”)));
调整图像大小,在GPU上执行该操作。
RGB2 = imresize(RGB, 0.5);
显示原始图像和调整后的图像。
图imshow (RGB)标题(“原始”) figure imshow(RGB2) title(“图像大小”)
输入参数
一个
- - - - - -要调整大小的图像
实的,非稀疏的数值或逻辑数组
要调整大小的图像,指定为真实的非稀疏数字数组。
数据类型:单
|双
|int8
|int16
|int32
|uint8
|uint16
|uint32
|逻辑
规模
- - - - - -调整因素
真实的,数字标量
调整大小因子,指定为实数标量。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
[numrows numcols]
- - - - - -输出图像的行和列尺寸
正数值双元向量
输出图像的行和列尺寸,指定为正数值的双元素数值向量。要么numrows
或numcols
可以南
,这样的话imresize
自动计算行数或列数,以保留图像的长宽比。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
X
- - - - - -要调整大小的索引映像
实的,非稀疏的数值数组
要调整大小的索引图像,指定为真实的非稀疏数字数组。
例子:[X2, newmap] = imresize(X,map,0.75);
数据类型:双
|uint8
|uint16
地图
- - - - - -与索引图像相关联的色彩图
米3数值数组
与索引图像相关联的色彩图,米3数值数组。
数据类型:双
方法
- - - - - -插值法
“双三次的”
(默认)|字符串标量|特征向量|双元素单元阵列
插值方法,指定为字符串标量、字符向量或双元单元格数组。
当方法
是一个字符串标量或字符向量,它标识一个特定的方法或命名插值核,列于下表。
方法 | 描述 |
---|---|
|
加权插值;输出像素被指定为该点所在像素的值。不考虑其他像素。 |
|
双线性插值;输出像素值是最近的2 × 2邻域内像素的加权平均值 |
|
双立方插值;输出像素值是最近的4 × 4邻域像素的加权平均值 请注意双三次插值可以产生原始范围以外的像素值。 |
插值的内核 | 描述 |
“盒子” |
盒子形状的内核 |
“三角形” |
三角核(相当于双线性的 ) |
“立方” |
三次核(相当于“双三次的” ) |
“lanczos2” |
Lanczos-2内核 |
“lanczos3” |
Lanczos-3内核 |
当方法
是一个双元素单元格数组,它定义了一个自定义插值内核。单元格数组的形式为{f,w},f是自定义插值内核的函数句柄和w自定义内核的宽度。f(x)必须在间隔之外为零-w/ 2 < =x<w/ 2.函数处理f可以用标量或向量输入调用。对于用户指定的插值核,输出图像的一些值可能略超出输入图像的像素值范围。
数据类型:字符
|字符串
|细胞
gpuarrayA
- - - - - -图形处理器上需要调整大小的图像
gpuArray
图形处理器上要调整大小的图像,指定为gpuArray
.
例子:gpuarrayB = imresize (gpuarrayA, 0.5);
名称-值对的观点
指定逗号分隔的可选对名称,值
参数。的名字
参数名称和价值
对应的值。的名字
必须出现在单引号内(' '
).可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家
.
I2 = imresize(我,0.5,抗锯齿,假);
抗锯齿的
- - - - - -收缩图像时执行反锯齿
真正的
|假
收缩图像时执行反锯齿,指定为逗号分隔的对,由抗锯齿的
和逻辑布尔值真正的
或假
.默认值与插值方式有关。如果该方法是最近邻(“最近的”
),默认为假
.对于所有其他插值方法,默认值为真正的
.
数据类型:逻辑
“Colormap”
- - - - - -返回优化colormap
“优化”
(默认)|“原始”
返回优化的色彩图,指定为逗号分隔的对,由“Colormap”
而且“优化”
或“原始”
.(仅索引图像)。如果设置为“原始”
,输出颜色图(newmap
)与输入颜色图(地图
).如果设置为“优化”
,imresize
返回一个新的优化颜色图。
数据类型:字符
|字符串
“犹豫”
- - - - - -执行颜色犹豫不决
真正的
(默认)|假
执行颜色抖动,指定为逗号分隔的对,由“犹豫”
和逻辑布尔值真正的
或假
.(仅索引图像)。
在抖动中,您将一种形式的噪声应用到图像中,以随机量化误差和防止大规模模式。
数据类型:逻辑
“方法”
- - - - - -插值法
“双三次的”
(默认)|特征向量|单元阵列
插值方法,指定为逗号分隔对组成“方法”
和标量字符串、字符向量或双元素单元格数组。有关详细信息,请参见方法
.
数据类型:字符
|字符串
|细胞
“OutputSize”
- - - - - -输出图像的大小
双元素数值向量
输出图像的大小,指定为逗号分隔的对,由“OutputSize”
和这个形式的双元素向量[numrows numcols]
.
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
“规模”
- - - - - -调整比例因子
积极的数字标量|正的二元向量
调整比例因子,指定为逗号分隔的对,由“规模”
和一个正的数值标量或正的二元向量。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
输出参数
B
-缩放图片
实的,非稀疏的数值数组
调整大小的图像,作为实的、非稀疏的数字数组返回,与输入图像是同一个类。
Y
-调整索引图像的大小
实的,非稀疏的数值数组
调整大小的索引图像,作为实的、非稀疏的数字数组返回,与输入图像是同一个类。
newmap
——优化colormap
米3数值数组
优化的色彩图,返回为米3数值数组。
gpuarrayB
-缩放图片
gpuArray
调整大小的图像,返回为gpuArray
.
提示
这个函数
imresize
在5.4版(R2007a)更改。以前版本的图像处理工具箱™默认使用不同的算法。如果您需要由前一个实现产生的相同结果,请使用该函数imresize_old
.的结果在数值上有细微的差别
imresize
在CPU和GPU上。这些差异出现在图像的右侧和底部边缘,肉眼几乎察觉不到。如果输出图像的大小不是整数,
imresize
不使用指定的比例。imresize
使用装天花板
在计算输出图像大小时。
扩展功能
C / c++代码生成
使用MATLAB®Coder™生成C和c++代码。
使用注意事项和限制:
此函数支持生成C代码使用万博1manbetxMATLAB®编码器™.有关更多信息,请参见图像处理的代码生成.
不支持支持索引图像的语法,包万博1manbetx括命名参数
“Colormap”
而且“犹豫”
.不支持自定义插值内核。万博1manbetx
所有参数-值对必须是编译时常量。
之前介绍过的R2006a
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。