Presentation is loading. Please wait.

Presentation is loading. Please wait.

对本书、视频等任何MATLAB问题,作者做到有问必答!

Similar presentations


Presentation on theme: "对本书、视频等任何MATLAB问题,作者做到有问必答!"— Presentation transcript:

1 对本书、视频等任何MATLAB问题,作者做到有问必答!
你买的不仅仅是书,更是一种“有问必答”的服务!

2 视频目录 视频版权归作者所有,请勿翻录

3 “有问必答”三部曲 第一步:购买该书(当当、亚马逊等均有销售) 第二步:拿到书籍以后,封面上有卡,如下图所示:
根据封面提示,验证密码,即可享受作者“有问必答”服务! 有问必答网址: 刮开即可看到密码

4 第4章 数字图像的运算 图像的运算是数字图像处理中的重要内容之一。本章主要介绍基于图像像素的运算方法包括(点运算、代数运算、逻辑运算),图像的几何变换方法包括(平移、镜像、缩放、转置、旋转及剪切),图像的邻域操作和区域选择。

5 4.1图像的像素运算 在MATLAB中,数字图像数据是以矩阵形式存放的,矩阵的每个元素值对应着一个像素点的像素值。本小节主要介绍基于数字图像像素的一些基本运算,主要包括改变图像灰度值的点运算、图像的代数运算(加、减、乘、除等)以及图像的逻辑运算(与、或、非、异或),通过举例说明这些基本的像素级运算的MATLAB实现方法。

6 4.1.1图像点运算 点运算又称为对比度增强、对比度拉伸或灰度变换,是一种通过图像中的每一个像素值(即像素点上的灰度值)进行运算的图像处理方式。它将输入图像映射为输出图像,输出图像每个像素点的灰度值仅由对应的输入像素点的灰度值决定,运算结果不会改变图像内像素点之间的空间关系,其运算的数学关系式: 其中表示原图像,表示经过点运算处理后的图像,表示点运算的关系函数。按照灰度变换的数学关系点运算可以分为线性灰度变换、分段线性灰度变换和非线性灰度变换三种。

7 4.1.2图像代数运算 图像的代数运算是指将两幅或多幅图像通过对应像素之间的加、减、乘、除运算得到输出图像的方法,它们运算的数学表达式:
其中,和表示进行代数运算的两幅图像,表示和运算后的结果。

8 4.1.3图像逻辑运算 图像的逻辑运算主要是针对二值图像,以像素对像素为基础进行的两幅或多幅图像间的操作。常用的逻辑运算有与、或、非、或非、与非、异或等。在MATLAB中,提供了逻辑操作符与(&)、或(|)\非(~)、异或(OR)等进行逻辑运算,复杂逻辑运算可通过基本运算推导得到。

9 4.2图像的几何变换 图像的几何变换是将一幅图像中的坐标映射到另外一幅图像中的新坐标位置,它不改变图像的像素值,只是改变像素所在的几何位置,使原始图像按照需要产生位置、形状和大小的变化。本小节主要介绍图像的一些基本几何变换,包括图像的平移、镜像变换、转置、放缩等。

10 4.2.1图像的平移 图像的平移是几何变换中最简单最常见的变换之一,它是将一幅图像上的所有点都按照给定的偏移量在水平方向沿轴、在垂直方向上沿轴移动,平移后的图像与原图像大小相同。设为原图像上的一点,图像水平平移量为,垂直平移量为,则平移后点坐标将变为,它们之间的数学关系式:

11 4.2.2图像的镜像 图像的镜像分为两种垂直镜像和水平镜像,其中水平镜像是指图像的左半部分和右半部分以图像竖直中轴线为中心轴进行对换。如是原图像上的点坐标是,中心轴如图 (a)所示,经过水平镜像对应的新坐标点为,它们之间的数学关系式为: (a) 垂直镜像是指图像的上半部分和下半部分以图像水平中轴线为中心轴进行对换,如原图像上的点坐标是,中心轴如图 (b)所示,垂直镜像对应的新坐标点为,它们之间的数学关系式为: (b)

12 4.2.3图像的缩放 图像缩放是指将给定的图像在轴方向按比例缩放倍,在y轴方向按比例缩放倍,从而获得一幅新的图像。如果,即在x轴方向和y轴方向缩放的比率相同,称这样的比例缩放为图像的全比例缩放。如果,图像的比例缩放会改变原始图像的像素间的相对位置,产生几何畸变。

13 4.2.4图像的转置 图像转置即为图像的行列坐标互换,如原图像上的点,转置后对应的新坐标点,它们之间的数学表达式为:
需要注意的是,进行图像转置后,图像的大小会发生改变。在MATLAB中,没有提供实现图像转置函数,直接运用MATLAB指令编程即可实现图像的转置操作。

14 4.2.5图像的旋转 图像的旋转变换属于图像的位置变换,通常是以图像的中心为原点,将图像上的所有像素都旋转一个相同的角度,旋转后,图像的大小一般会改变。

15 4.2.6图像的剪切 在进行图像处理的过程中,有时候采集的图像用户只对部分区域感兴趣,这时候就需要对原始图像进行剪切。在MATLAB图像处理工具箱中的提供了函数imcrop( )进行图像的剪切操作,其具体的调用格式如下: I2=imcrop(I,rect):该函数是按照四元素数组rect剪切图像I,rect的具体形式[xmin ymin width height]说明剪切矩形区域大小。 [I2,rect]=imcrop(…):该函数是执行后首先显示原图像,然后利用鼠标选择剪切区域,并把剪切区域图像返回给I2以及剪切区域的范围大小返回给rect。 X2=imcrop(X, map):该函数是执行后首先按照map的颜色映射显示图像X,并创建剪切工具与X关联。 [X,Y,I2,rect]=imcrop(…):该函数是执行后首先显示原图像,然后利用鼠标选择剪切区域,返回当前剪切区域图像的像素点的x和y坐标给X和Y,以及剪切区域的范围大小返回给rect。

16 4.2.7图像的空间变换 在MATLAB的图像处理工具箱中提供一个专门的函数intransform( ),用户可以定义参数实现多种类型的空间变换,包括放射变换(如平移、缩放、旋转、剪切)、投影变换等。

17 4.3图像的邻域和块操作

18 4.3.1图像的邻域操作 图像的邻域操作是指输出图像的像素点取值决定于输入图像的某个像素点及其邻域内的像素,通常像素点的邻域是一个远小于图像自身尺寸、形状规则的像素块,例2*2正方形、2*3矩形、或近似圆形的多边形。邻域操作根据邻域的类型又可分为:滑动邻域操作和分离邻域操作。 在MATLAB中,提供了几个实现邻域操作的函数,用户可直接调用这些函数,实现各种操作。 通用滑动邻域操作函数nlfilter( ) 列方向邻域操作函数colfilt( ) 分离邻域操作函数blockproc( )

19 4.3.2图像的区域选取 在进行图像处理过程中,用户通常选择感兴趣的区域进行相关操作,MATLAB也提供了一些图像区域选择和操作的函数。
多边形区域选择函数roipoly( ) 灰度ROI区域选择函数roicolor( ) 区域填充函数roifill( ) 区域滤波函数roifilt2( )

20 本章小结 本章详细的讲解了数字图像运算的MATLAB实现。首先介绍了以图像像素为操作单元的点运算、代数运算及逻辑运算,然后介绍了图像几何变换的MATLAB实现:先从MATLAB指令的方式介绍图像平移、镜像、缩放、转置,再介绍MATLAB中利用函数实现图像旋转、剪切及空间变换,最后介绍了图像邻域操作和区域选取。章节中都是以图像处理的目的为主题,先介绍实现原理,再介绍相关函数,最后辅以实例,从而达到帮助用户熟悉掌握的目的。

21 习 题 对图像的线性点变换,可以根据线性变换式(1)来实现:
其中,x表示原图像灰度值,y表示变换后图像的灰度值,c表示对输出图像的对比度控制系数,常数b表示对输出图像灰度的影响。对图按照表格进行灰度变换,分析不同常数c和b取值情况下的线性图像点变换对图像产生的影响。 参数取值 第1种组合 2 32 第2种组合 1 -56 第3种组合 0.3


Download ppt "对本书、视频等任何MATLAB问题,作者做到有问必答!"

Similar presentations


Ads by Google