调整图像大小调整图片大小

  • Post author:
  • Post category:其他


说明


示例





B


= imresize(


A


,


scale


)

返回图像

B

,它是将

A

的长宽大小缩放

scale

倍之后的图像。输入图像

A

可以是灰度、RGB 或二值图像。如果

A

有两个以上维度,则

imresize

只调整前两个维度的大小。如果

scale

在 [0, 1] 范围内,则

B



A

小。如果

scale

大于 1,则

B



A

大。默认情况下,

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)

使用最近邻插值方法将长宽缩小二分之一

将图像加载到工作区。

I = imread('ngc6543a.jpg');

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

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

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

figure 
imshow(I)

figure
imshow(J)

调整 RGB 图像的大小

将 RGB 图像读取到工作区。

RGB = imread('peppers.png');

将 RGB 图像的大小调整为 64 行。

imresize

会自动计算列数。

RGB2 = imresize(RGB, [64 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

|

int64

|

uint8

|

uint16

|

uint32

|

uint64


[numrows numcols]

– 输出图像的行和列维度



由正值组成的二元素数值向量


输出图像的行和列维度,指定为由正值组成的二元素数值向量。

numrows



numcols

可以为

NaN

值,在这种情况下,

imresize

将自动计算行数或列数,以保持图像的纵横比。

数据类型:

single

|

double

|

int8

|

int16

|

int32

|

int64

|

uint8

|

uint16

|

uint32

|

uint64


X

– 要调整大小的索引图像



实数非稀疏数值数组


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

示例:

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

数据类型:

double

|

uint8

|

uint16


map

– 与索引图像关联的颜色图



m×3 数值数组


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

数据类型:

double


method

– 插值方法




'bicubic'

(默认) | 字符向量 | 二元素元胞数组


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



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'

– 缩小图像时消除锯齿




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'

和一个字符向量或二元素元胞数组组成。有关详细信息,请参阅


method


数据类型:

char

|

cell


'OutputSize'

– 输出图像的大小



二元素数值向量


输出图像的大小,以逗号分隔的对组形式指定,该对组由

'OutputSize'

和一个

[numrows numcols]

形式的二元素向量组成。

数据类型:

single

|

double

|

int8

|

int16

|

int32

|

int64

|

uint8

|

uint16

|

uint32

|

uint64


'Scale'

– 大小调整缩放因子



正数值标量 | 由正值组成的二元素向量


大小调整缩放因子,以逗号分隔的对组形式指定,该对组由

'Scale'

和一个正数值标量或由正值组成的二元素向量组成。

数据类型:

single

|

double

|

int8

|

int16

|

int32

|

int64

|

uint8

|

uint16

|

uint32

|

uint64

输出参数


全部折叠


B

– 调整大小后的图像



实数非稀疏数值数组


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


Y

– 调整大小后的索引图像



实数非稀疏数值数组


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


newmap

– 优化后的颜色图



m×3 数值数组


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

提示

  • 如果输出图像的大小不是整数,则

    imresize

    不会使用指定的比例。

    imresize

    在计算输出图像大小时使用

    ceil

扩展功能

转载于:https://www.cnblogs.com/Ph-one/p/11566728.html