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

B = imresize(A,scale)

B = imresize(A,[numrows numcols])

[Y,newmap] = imresize(X,map,___)

___ = imresize(___,method)

___ = imresize(___,Name,Value)

说明

示例

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 对组控制大小调整操作的各个方面。

示例

全部折叠

使用默认插值方法将图像的长宽缩小二分之一

Try This Example

将图像加载到工作区。

I = imread(‘ngc6543a.jpg‘);

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

J = imresize(I, 0.5);

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

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

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

Try This Example

将图像加载到工作区。

I = imread(‘ngc6543a.jpg‘);

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

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

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

figure
imshow(I)

figure
imshow(J)

调整 RGB 图像的大小

Try This Example

将 RGB 图像读取到工作区。

RGB = imread(‘peppers.png‘);

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

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

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

figure
imshow(RGB)

figure
imshow(RGB2)

调整索引图像的大小

Try This Example

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

[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

时间: 2024-10-11 17:56:23

调整图像大小调整图片大小的相关文章

java关于图片处理修改图片大小

最近做了一个关于图片浏览的内容.因为图片都是一些证件的资料的扫描件所以比较大,对系统的影响也是非常之大的,有很大可能直接把系统干死.那么我是这么处理的,给大家分享一下.如果大家有好的方案的话一定要早点告诉我. 需求简单介绍: 上传文件是压缩包,但是到查看资料的时候压缩包可下载本地看,同时也可以在系统中直接在线浏览. 设计方案 1 营业部用户上传图片文件压缩包文件到综合业务系统tomcat服务器,系统在tomcat服务器将压缩文件解压到系统临时目录. 2 系统分析解压的图片文件(文件名上有分类和序

设置BottomNavigationBar导航栏的间距和文字,图片大小

找了好久都没有找到怎么设置导航栏的文字大小和图片大小.后来朋友给推荐使用反射的方式很好用.特意保存下来,以备不时之需. 朋友博客地址 private void setBottomNavigationItem(int space, int imgLen) { float contentLen = 36; Class barClass = bottomNavigationBar.getClass(); Field[] fields = barClass.getDeclaredFields(); fo

Linux中如何使用gThumb批量调整图片大小

Linux中如何使用gThumb批量调整图片大小 导读 如果你的工作涉及到图片编辑和处理,就一定会有同时对多张图片进行批量大小调整的经历.虽然大多数图片编辑应用都能够非常容易地批量调整多张图片,但对于新手用户来说,总是不太容易轻松找到并使用相关功能,因此本文将向大家介绍如何在 Linux 桌面系统中使用 gThumb 软件来批量调整图片大小. 由于主要步骤都以 gThumb 为中心,所以请先确保你在系统中已经安装了该应用.如果没有,可以自行在 Ubuntu Software Center 中搜索

画图软件中调整图像的大小

在打开Windows附件的画图软件时,有时候截屏.或者其它图形粘贴的大小不合式.需要调整图像的大小. 画图软件有两个界面可调整:内界面是蓝色背景中的白色矩形,外界面是画图软件的边框.内界面固定在边框内,但是长.宽可以通过鼠标拉伸. 拉伸时,鼠标为从右下至左上的斜线型.调整内界面才能调整图像的大小. 如果内界面和外界面边界基本重合,则需要将进度条向右下角汇聚,直至出现内边界的右下"角".从这个角出发,将内边界从下往上.从右往左 拉动,可以发现内边界能移动.通常,在内边界和外边界之间都保存

动态等比例调整图片大小的jQuery代码

动态等比例调整图片大小的jQuery代码:有时候图片的大小和尺寸是位置,如果上传后,任由其自然伸展,很有可能导致网页变形,所以要认为的控制图片的尺寸,当然也不能够太粗暴,直接定死图片的尺寸,这样可能会导致图片变形,所以要进行等比例缩放,下面就是一段能够实现此功能的代码.代码如下: <script type="text/javascript"> jQuery(window).load(function(){ jQuery("div.product_info img&

wps 批量调整图片大小 宏

1 Sub 批量调整图片大小() 2 ' 3 ' 批量修改图片 Macro 4 ' 宏由 zxz 录制,时间: 2014/10/29 5 '批量调整图片大小,避免图片太大显示不完全 6 7 '循环图片集合 8 For Each iShape In ActiveDocument.InlineShapes 9 '将高宽比还原为100% 10 iShape.ScaleHeight = 100 11 iShape.ScaleWidth = 100 12 '用500除图片宽度,得出一个宽度比 13 myS

鼠标滚轮调整图片大小

=======粘贴以下代码,保存为html文件可直接运行查看效果======= <html> <head> <title>鼠标滚动调整图片大小</title> <script language="javascript"> <!-- var count = 10; function resizeimg(oImage) { count = Counting(count); Resize(oImage,count); retu

matlab批量读取文件夹里面的文件名,并且调整图片大小,再按照原名称输出

举个例子,我要批量修改某文件夹里面的图片大小,我不想用顺序命名,之后我还想原名输出 fileFolder=fullfile('E:\caffe\SegNet_ip\CamVid\test');%读取图片路径 dirOutput=dir(fullfile(fileFolder,'*.jpg'));%读取文件夹里面文件 OtpDir = 'E:\test';%输出路径 fileNames = {dirOutput.name};%获得文件名称,存成元祖,可以自己看下fileName for i = 1

Altium中Logo的导入方法及大小调整

Altium中Logo的导入方法及大小调整 LOGO识别性是企业标志的重要功能之一,特点鲜明.容易辨认,很多客户需要在PCB设计阶段导入LOGO标示归属特性.如果LOGO是CAD图纸,可以直接按照前面DXF导入方法进行导入,如果LOGO是图片文档,我们可以按照如下操作进行导入. 1.位图的转换,利用Windows画图工具,把图片转换成单色的BMP位图,如果转成单色位图失真了的话可以,转成16色位图或者其他位图,但一定要是位图才行,LOGO图片像素较高时,转换的LOGO更清晰,转换完成之后放置到桌