imresize
调整图像
语法
描述
返回图像B
= imresize (一个
,[numrows numcols]
)B
它具有由两元素向量指定的行数和列数[numrows numcols]
.
___= imresize (___,
返回调整大小的图像,其中名称-值参数控制调整大小操作的各个方面。在所有其他输入参数之后指定名称-值参数。名称,值
)
例子
使用默认插值方法缩小图像的两个因素
将图像加载到工作区中。
I = imread(“ngc6543a.jpg”);
将图像缩小到原来的1 / 2。
J = imresize(I, 0.5);
显示原始图像和调整大小的图像。
图,imshow(I),图,imshow(J)
使用最近邻插值缩小图像
将图像加载到工作区中。
I = imread(“ngc6543a.jpg”);
使用最近邻插值将图像缩小到原始大小的40%。这是最快的方法,但质量最低。
J = imresize(I,0.4,“最近的”);
显示原始图像和调整大小的图像。
imshow (I)标题(原始图像的)
imshow (J)标题('使用最近邻插值调整图像大小')
Resize RGB Image指定输出图像的大小
将RGB图像读入工作区。
RGB = imread(“peppers.png”);
将RGB图像大小调整为64行。imresize
自动计算列数。
RGB = imresize(RGB,[64 NaN]);
获取调整后图像的大小。
sz = size(RGB2)
深圳=1×364 86 3
显示原始图像和调整大小的图像。
imshow (RGB)标题(的“原始图像”)
imshow (RGB2)标题(“64行调整图像大小”)
调整索引图像大小
将索引图像读入工作区。
[X,map] = imread(“corn.tif”);
将索引图像的大小增加50%。
[Y,newmap] = imresize(X,map,1.5);
显示原始图像和调整大小的图像。
imshow (X,地图)标题(“原始索引图像和颜色图”)
imshow (Y, newmap)标题(“调整图像大小和优化的色图”)
输入参数
一个
- - - - - -要调整大小的图像
数字数组|逻辑阵列|分类数组
要调整大小的图像,指定为任何维度的数字数组、逻辑数组或分类数组。输入必须是非稀疏的,数字输入必须是实数。
数据类型:单
|双
|int8
|int16
|int32
|uint8
|uint16
|uint32
|逻辑
|分类
规模
- - - - - -调整因素
正数
调整大小因子,指定为正数。imresize
将相同的比例因子应用于行和列尺寸。要对每个维度应用不同的调整大小因子,请使用规模
名称-值参数。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
[numrows numcols]
- - - - - -输出图像的行和列尺寸
两元正数向量
输出图像的行和列维度,指定为两个元素的正数向量。您可以指定该值南
无论是numrows
或numcols
.在这种情况下,imresize
自动计算该维度的行数或列数,保留图像的纵横比。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
X
- - - - - -要调整大小的索引图像
实非稀疏数值数组
要调整大小的索引图像,指定为正整数的实非稀疏数值数组。
数据类型:双
|uint8
|uint16
地图
- - - - - -与索引图像相关联的颜色映射
c-by-3数值矩阵
与索引图像相关联的颜色映射X
,指定为c-by-3数值矩阵,值范围为[0,1]。每一行都是一个三元素的RGB三元组,它指定了颜色图中单一颜色的红色、绿色和蓝色组件。
数据类型:双
方法
- - - - - -插值法
特征向量|字符串标量|双元单元阵列
插值方法,指定为字符向量、字符串标量或两元素单元格数组。数字映像和逻辑映像的默认值为“双三次的”
.分类图像的默认值为“最近的”
.分类图像只支持值万博1manbetx“最近的”
而且“盒子”
.
当方法
是字符向量或字符串标量,它标识一个特定的方法或命名插值内核,列于下表中。
方法 | 描述 |
---|---|
|
加权插值;输出像素被赋予该点所在像素的值。不考虑其他像素。 |
|
双线性插值;输出像素值是最近的2 × 2邻域像素的加权平均值 |
|
双立方插值;输出像素值是最近的4 × 4邻域像素的加权平均值。 请注意 双三次插值可以产生原始范围以外的像素值。 |
插值的内核 | 描述 |
“盒子” |
盒子形状的内核 |
“三角形” |
三角核(相当于“双线性” ) |
“立方” |
三次核(相当于“双三次的” ) |
“lanczos2” |
Lanczos-2内核 |
“lanczos3” |
Lanczos-3内核 |
当方法
是一个双元素单元格数组,它定义了一个自定义插值核。单元格数组的格式为{f,w},f是自定义插值核的函数句柄和w是自定义内核的宽度。f(x)在区间外必须为零-w/ 2 < =x<w/ 2.函数句柄f可以使用标量或向量输入调用。对于用户指定的插值内核,输出图像可以有一些稍微超出输入图像像素值范围的值。
有关内置和自定义插值内核的更多信息,请参见创建并比较调整插值内核的大小.
数据类型:字符
|字符串
|细胞
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
例子:B = imresize(A,0.5,反锯齿=false)
缩小图像时不执行反锯齿。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字
在报价。
例子:B = imresize(A,0.5,"Antialiasing",false)
缩小图像时不执行反锯齿。
抗锯齿
- - - - - -收缩图像时执行反锯齿
真正的
|假
收缩图像时执行反锯齿,指定为真正的
或假
.
如果插值
方法
是“最近的”
,则为默认值抗锯齿
是假
.如果插值
方法
是“盒子”
而输入的图像是分类的,则默认值为抗锯齿
是假
.对于所有其他插值方法,默认值为
真正的
.
数据类型:逻辑
高频振动
- - - - - -执行颜色抖动
真正的
(默认)|假
执行颜色抖动,指定为真正的
或假
.在抖动中,您将一种形式的噪声应用于图像,以随机量化误差并防止大规模模式。
的高频振动
参数仅在调整索引图像的大小时有效。
数据类型:逻辑
方法
- - - - - -插值法
特征向量|字符串标量|单元阵列
插值方法,指定为字符向量、字符串标量或两元素单元格数组。详细信息请参见方法
.
数据类型:字符
|字符串
|细胞
OutputSize
- - - - - -输出图像大小
两元正数向量
输出图像的大小,指定为两个元素的正数向量。详细信息请参见[numrows numcols]
.
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
规模
- - - - - -调整比例因子
正数|两元正数向量
调整缩放因子的大小,指定为正数或正数的两元素向量。如果指定一个标量,则imresize
将相同的比例因子应用于行和列尺寸。如果你指定一个二元向量,那么imresize
对每个维度应用不同的缩放值。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
输出参数
提示
如果输出图像的大小不是整数,则
imresize
不使用指定的比例。imresize
使用装天花板
函数在计算输出图像大小时。
扩展功能
C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。
使用注意事项和限制:
不支持支持索引图像的语法,包万博1manbetx括名称-值参数
Colormap
而且高频振动
.不支持自定义插值内核。万博1manbetx
所有的名称-值参数必须是编译时常量。
GPU代码生成
使用GPU Coder™为NVIDIA®GPU生成CUDA®代码。
使用注意事项和限制:
Colormap
而且高频振动
不支持名称-值参数。万博1manbetx不支持索引图像。万博1manbetx
不支持自定义插值内核。万博1manbetx
所有的名称-值对必须是编译时常量。
对于某些插值核,在MATLAB中的结果之间可能有一个小的数值不匹配®以及生成的代码。
线程环境
使用MATLAB®在后台运行代码backgroundPool
或使用并行计算工具箱™加速代码ThreadPool
.
这个函数完全支持基于线程的环境。万博1manbetx有关更多信息,请参见在线程环境中运行MATLAB函数.
GPU数组
通过使用并行计算工具箱™在图形处理单元(GPU)上运行来加速代码。
使用注意事项和限制:
gpuArray
输入大于227不支持Elements。万博1manbetxgpuArray
输入必须是非稀疏的。gpuArray
具有基础类型的输入分类
不支持。万博1manbetxGPU不支持索引图像。万博1manbetx
如果使用双三次插值,输出图像的一些值可能略微超出输入图像的像素值范围。
的结果在数值上有轻微的差异
imresize
一个CPU和一个GPU。这些差异出现在图像的右侧和底部边界,肉眼几乎察觉不到。
有关更多信息,请参见在图形处理器上运行MATLAB函数(并行计算工具箱).
版本历史
R2006a之前介绍R2019a:万博1manbetx支持分类图像
的imresize
函数现在支持分类图像。万博1manbetx
Beispiel offnen
Sie haben eine geänderte版本dieses Beispiels。Möchten Sie dieses Beispiel mit Ihren Änderungen öffnen?
MATLAB-Befehl
你的身体和身体之间的联系MATLAB-Befehl
Führen Sie den Befehl durch Eingabe in das MATLAB-Befehlsfenster aus。web浏览器unterstützen keine MATLAB-Befehle。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。