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


     

    说明

    示例

    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

    扩展功能

  • 相关阅读:
    chrony时间同步工具
    SyntaxError: missing ; before statement
    SQL 获得两个时间段之间的数据
    EasyUI DataGrid 获得分页信息
    c#里如何实现讲一个字符串数组例如 “112,221”转化成两个字符串数组“112” “221” 中间以逗号隔开
    SQL 将一个表中的所有记录插入到一个临时表中
    SQL查找指定行的记录
    SQL 中的Begin...End语句
    SQL将完整时间字段截取到年月日
    Linux学习之三:档案与文件系统的压缩与打包
  • 原文地址:https://www.cnblogs.com/Ph-one/p/11566728.html
Copyright © 2020-2023  润新知