二值图像处理_第1页
二值图像处理_第2页
二值图像处理_第3页
二值图像处理_第4页
二值图像处理_第5页
已阅读5页,还剩129页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六章二值图像处理灰度图像转二值图6.2二图像形态学处理6.3二值图的几何特征6.4二值图的形状特征图像的二值化处理就是常用的阈值化处理,即选择一阈值,将图像转换为黑白二值图像。图像的二值化处理的变换函数表达式为:

此图像的二值化处理的关键是求出阈值T。灰度图像转二值图当直方图具有双峰特性时,图像中的目标和背景分别形成两个波峰。用其双峰之间的谷低处灰度值作为阈值T,可对图像进行的二值化处理。如以下图,阈值可确定为130。利用直方图求阈值程序演示6.2二图像形态学处理6.1.1数学形态学根底数学形态学的数学根底和所用语言是集合论。数学形态学的应用可以简化图像数据,保持它们根本的形状特性,并除去不相干的结构。根本思想是用具有一定形态的结构元素去量度和提取图像中的对应形状以到达对图像分析和识别的目的。把一幅图像称为一个集合。对于二值图像,习惯上景物取值为1,用阴影表示,背景取值为0,用白色表示。值为1的点的集合A与图像是一一对应的。对于图像A,点a在A区域内,那么a是A的元素,记为a∈A,否那么,记作a∈A。1.元素和集合2.交集、并集和补集集合的交集、并集和补集

3.击中(Hit)与击不中(Miss)

设两幅图像A和B,A∩B≠,称B击中A,记为B↑A,A∩B=,称B击不中A。

设A是一幅数字图像,b是一个点。定义:A被b平移后的结果为A+b={a+b|a∈A},A的反射是A中的每个点以原点取反

AV={a|-a∈A}。01234xy12345(a)x01234123y(b)b01234xy12345y-1-2-3-40-1-2-3-4x(c)(d)5.目标和结构元素被处理的图像称为目标图像。为了确定目标图像的结构,必须逐个考察与检验图像各局部之间的关系,最后得到一个各局部之间关系的集合。在考察目标图像各局部之间的关系时,需要设计一种“结构元素〞。在图像中不断移动结构元素,就可以考察图像之间各局部的关系。6.2.2二值图像的腐蚀与膨胀

二值形态学中的运算对象是集合。设A为图像集合,S为结构元素,数学形态学运算是用S对A进行操作。二值形态学中两个最根本的运算——腐蚀与膨胀。(3)S+x∩X与S+x∩XC均不为空S+x与X局部相关1腐蚀设目标图像X和结构元素S,S在X上移动。在每一个当前位置x,,S+x只有三种可能的状态:(1)S+xXS+x与X相关最大(2)S+xXCS+x与X不相关X用S腐蚀的结果是所有使S平移x后仍在X中的x的集合。用集合的方式定义腐蚀在数学形态学运算中的作用是消除物体边界点。腐蚀可以把小于结构元素的物体(毛刺、小凸起)去除;如果两个物体之间有细小的连通,结构元素足够大时,通过腐蚀运算可以将两个物体分开。1腐蚀腐蚀运算例如1腐蚀腐蚀的方法:拿S的原点和X上的点一个一个地比照,如果S上的所有点都在X的范围,那么S的原点对应的点保存,否那么将该点去掉。1腐蚀1腐蚀1腐蚀1腐蚀1腐蚀1腐蚀1腐蚀1腐蚀1腐蚀1腐蚀1腐蚀1腐蚀1腐蚀1腐蚀1腐蚀1腐蚀1腐蚀1腐蚀1腐蚀1腐蚀1腐蚀1腐蚀1腐蚀1腐蚀1腐蚀1腐蚀1腐蚀1腐蚀1腐蚀1腐蚀1腐蚀注意:结构元素的原点坐标很重要,如果结构元素形状不变,而原点坐标改变,那么腐蚀运算结果是不一样的。1腐蚀

n=Val(Text1)Forj=n\2Toh-1-n\2Fori=n\2Tow-1-n\2m=0Fory=-n\2Ton\2Forx=-n\2Ton\2Ifpic(i+x,j+y,0)=255Thenm=1NextxNextyIfm=0ThenPicture2.PSet(i,j)ElsePicture2.PSet(i,j),RGB(255,255,255)EndIfNextiNextj1腐蚀程序演示2膨胀

将X中的每一个点x扩大为S+x,它的定义为XS={x|S+x∪x≠膨胀的结果会使目标变大。膨胀的方法:拿S的中心点和X上的点及X周围的点一个一个地对,如果S上有一个点落在X的范围内,则该点存在且为黑。2膨胀2膨胀2膨胀2膨胀2膨胀2膨胀2膨胀2膨胀2膨胀2膨胀2膨胀2膨胀2膨胀2膨胀2膨胀2膨胀2膨胀2膨胀2膨胀2膨胀2膨胀2膨胀2膨胀2膨胀2膨胀2膨胀2膨胀2膨胀2膨胀2膨胀2膨胀2膨胀2膨胀2膨胀2膨胀2膨胀2膨胀

n=Val(Text1)Forj=n\2Toh-1-n\2Fori=n\2Tow-1-n\2m=0Fory=-n\2Ton\2Forx=-n\2Ton\2Ifpic(i+x,j+y,0)=0Thenm=1NextxNextyIfm=0ThenPicture2.PSet(i,j),RGB(pic(i,j,0),pic(i,j,0),pic(i,j,0))ElsePicture2.PSet(i,j),RGB(0,0,0)EndIfNextiNextj2膨胀程序演示用腐蚀和膨胀运算还可以实现图像的平移。如果在自定义结构元素时选择不在原点的一个点作为结构元素,那么得到的图像形状没有任何改变,只是位置发生了移动。2膨胀6.2.3开、闭运算1.根本概念膨胀和腐蚀不互为逆运算,可以级连结合使用,构造出形态学运算族,它由膨胀和腐蚀两个运算的复合与集合操作组合成的所有运算构成。例如,可先对图像进行腐蚀然后膨胀其结果,称为开运算,或先对图像进行膨胀然后腐蚀其结果,称为闭运算。开运算和闭运算是形态学运算族中两个最为重要的组合运算。

对图像X及结构元素S,用符号X○S表示S对图像X作开运算,用符号X●S表示S对图像X作闭运算,定义为

X○S=(XS)S

X●S=(XS)S

X○S:对腐蚀图像XS用膨胀来进行恢复

X●S:对膨胀图像XS用腐蚀来进行恢复这种恢复不是信息无损的。6.2.3开、闭运算程序演示开运算去掉了凸角(a)结构元素S1和S2;(b)X○S1;(c)X○S2

6.2.3开、闭运算闭运算填充了凹角(a)结构元素S1和S2;(b)X●S1;(c)X●S26.2.3开、闭运算形态学噪声滤波利用开、闭运算去除图像的噪声、恢复图像,也可交替使用开、闭运算以到达双边滤波目的。一般,可以将开、闭运算结合起来构成形态学噪声滤波器,例如(X○S)●S或(X●S)○S等。形态学滤波示意图●形态学噪声滤波击中/击不中(Hit/Miss)变换一个物体的结构可以由物体内部各种成分之间的关系来确定。击中/击不中主要用于判断、检测物体内部的成分,来确定图像的结构。设X是被研究的图像,S是结构元素,而且S由两个不相交的局部S1和S2组成,即S=S1∪S2,且S1∩S2=。于是,X被S“击中〞〔X⊙S〕的结果定义为⊙yxS1S2击中/击不中(Hit/Miss)变换击中/击不中(Hit/Miss)变换击中/击不中(Hit/Miss)变换击中/击不中(Hit/Miss)变换击中/击不中(Hit/Miss)变换击中/击不中(Hit/Miss)变换击中/击不中(Hit/Miss)变换由此可见,击中运算相当于一种条件比较严格的模板匹配,它不仅指出被匹配点所应满足的性质即模板的形状,同时也指出这些点所不应满足的性质,即对周围环境背景的要求。用击中/击不中变换识别字符〔a〕结构元素S;〔b〕图像X;〔c〕X⊙〔S1,S2〕击中/击不中(Hit/Miss)变换骨架抽取:骨架是一种细化结构。6.2.6细化求一幅图像骨架的过程就是对图像进行“细化〞的过程。在文字识别、地质构造识别、工业零件形状识别或图像理解中,先对被处理的图像进行细化有助于突出形状特点和减少冗余信息量。6.2.6细化像素的连接数X〔4〕X〔3〕X〔2〕X〔5〕X(0)X〔1〕X〔6〕X〔7〕X〔8〕x(k)=1〔图像〕x(k)=0〔背景〕00000000101000Nc=0(孤立点或内部点〕0001000Nc=1(边界点〕0101101Nc=2(连接点〕0010010Nc=3(分支点〕0010101Nc=4(交叉点〕将图像沿其中心轴线将其细化成一个像素宽的线条。定义函数:(1)A(k)=1(图像〕A(k)=0(背景〕〔k=0-8)(2)C(k)=1(A(k)=1)C(k)=0(A(k)<>1)(3)F={(1-c(i))-(1-c(i))(1-c(i+1))(1-c(i+2))(i=1,3,5,7)以下四个条件都满足时,中心像素置-1:〔1〕A(0)=1〔中心像素为图形〕〔2〕|A(i)|<=3,i=1,3,5,7〔中心像素是背景与图形的边界〕〔3〕|A(i)|>=2,i=1-8〔不消除端点〕〔4〕F=1(保存连接性)直到没有-1为止。计算连接数的时候,把-1看做0处理。6.2.6细化程序演示000000

0

1100001

110001

1

11000110000

0000举例:0000000

0

111

100000110000011100001100011

110000000000000000

0

11-1

-1000001-100000-11-10000-1100011

1-1000000000物体位置由质心O表示6.3图像的几何特征6.3.1位置与方向1.位置质心是物体的面积的中心点图像特征是指图像中可用做标志的属性,其中有些是视觉直接感受到的自然特征〔如:区域的亮度、色彩、纹理或轮廓等〕,有些是需要变换或测量才能得到的特征〔如:各种变换的频谱、直方图等〕假设二值图像中物体对应的像素位置坐标为(xi,yj)(i=0,1,…,n-1;j=0,1,…,m-1),那么质心位置坐标:1位置1位置n=0:x=0:y=0Forj=0Toh-1Fori=0Tow-1If(pic(i,j,0))=0Thenx=x+i:y=y+jn=n+1EndIfNextiNextjx=x/n:y=y/n程序演示2.方向如果物体是细长的,那么可以把较长方向的轴定为物体的方向。通常,将最小二阶矩轴定义为较长物体的方向。也就是说,要找出一条直线,使下式定义的E值最小:式中,r是点〔x,y〕到直线的垂直距离。2.方向n=0:x=0:y=0:xx=0:xy=0:yy=0Forj=0Toh-1Fori=0Tow-1If(pic(i,j,0))=0Thenx=x+i:y=y+j:xx=xx+i*i:xy=xy+i*j:yy=yy+j*j:n=n+1EndIfNextiNextjA=xy/(xx-x/n*x)-y/(n/x*xx-x):b=(y-x*A)/nC=xy/(yy-y/n*y)-x/(n/y*yy-y):D=(x-y*C)/nEx=0:Ey=0Forj=0Toh-1Fori=0Tow-1If(pic(i,j,0))=0ThenEx=Ex+Abs(C*j+D-i):Ey=Ey+Abs(A*i+b-j)EndIfNextiNextjIfEy<=ExThenX1=0:Y1=A*X1+bX2=w:Y2=A*X2+bPicture1.Line(X1,Y1)-(X2,Y2)ElseY1=0:X1=C*Y1+DY2=h:X2=C*Y2+DPicture1.Line(X1,Y1)-(X2,Y2)EndIf2.方向程序演示6.3.2周长周长是围绕所有像素的外边界的长度。常用简便方法如下:(1)把图像中的像素看作单位面积小方块,图像中的区域和背景均由小方块组成。区域的周长为区域和背景缝隙的长度和,此时边界用隙码表示。求周长就是计算隙码的长度。周长为24(2)把像素看作一个个点时,周长用链码表示,求周长也即计算链码长度。当链码值为奇数时,其长度记作;当链码值为偶数时,其长度记作1。即周长p表示为周长为6.3.2周长(3)周长用边界所占面积表示,也即边界点数之和,每个点占面积为1的一个小方块。(简单实用〕周长为156.3.2周长计算周长方法轮廓提取1、假设输入像素为图像〔0〕,并且周围8〔或4〕个像素全为图像值〔0〕,那么输出为背景值〔255〕。2、其它情况,像素不变。轮廓提取Forj=1Toh-2Fori=1Tow-2If(pic(i,j,0)=0Andpic(i,j-1,0)=0Andpic(i+1,j,0)=0Andpic(i,j+1,0)=0Andpic(i-1,j,0)=0)Thenpic1(i,j,0)=255Elsepic1(i,j,0)=pic(i,j,0)EndIfPicture2.PSet(i,j),RGB(pic1(i,j,0),pic1(i,j,0),pic1(i,j,0))NextiNextjm=0Forj=1Toh-2Fori=1Tow-2If(pic1(i,j,0)=0)Thenm=m+1EndIfNextiNextj轮廓提取

程序演示6.3.3面积

面积只与该物体的边界有关,而与其内部灰度级的变化无关。一个形状简单的物体可用相对较短的周长来包围它所占有的面积。6.3.3面积s=0Forj=0Toh-1Fori=0Tow-1If(pic(i,j,0))=0Thens=s+1NextiNextj程序演示1.像素计数面积

最简单的面积计算方法是统计边界内部(也包括边界上)的像素的数目。计算公式

2.用边界坐标计算面积当物体为一个封闭曲线包围的图像,由格林〔Green)定理可得,其面积由其轮廓积分给定:将其离散化式中,Nb为边界点的数目。6.3.3面积6.3.4长轴和短轴当物体的边界时,可用其外接矩形的尺寸来刻画它的根本形状。求物体在坐标系方向上的外接矩形,只需计算物体边界点的最大和最小坐标值,就可得到物体的水平和垂直跨度。对任意朝向的物体,确定物体的主轴,然后计算主轴方向上的长度和与之垂直方向上的宽度,这样的外接矩形是物体的最小外接矩形〔MER〕。MER法求物体的长轴和短轴〔a〕坐标系方向上的外接矩形;〔b〕旋转物体使外接矩形最小6.3.4长轴和短轴6.3.4长轴和短轴areamin=h*wForc1=0To90Step3maxx=0:maxy=0:minx=500:miny=500:c=c1*3.14/180Forj=0Toh-1Fori=0Tow-1X1=i*Cos(c)+j*Sin(c)-(Cos(c)-1)*x-Sin(c)*yY1=-i*Sin(c)+j*Cos(c)+Sin(c)*x-(Cos(c)-1)*yPicture2.PSet(X1,Y1),RGB(pic(i,j,0),pic(i,j,0),pic(i,j,0))NextiNextj

‘计算旋转一个角度后的图像各像素值Forj=0Toh-1Fori=0Tow-1If(Picture2.Point(i,j)=RGB(0,0,0))ThenIf(i>maxx)Thenmaxx=iIf(j>maxy)Thenmaxy=jIf(i<minx)Thenminx=iIf(j<miny)Thenminy=jEndIfNextiNextjarea=(maxx-minx)*(maxy-miny)‘计算旋转一个角度后的图像面积

6.3.4长轴和短轴If(area<areamin)Then‘确定该旋转角度后图像是否面

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论