机器视觉课件:第八章 《形态学》_第1页
机器视觉课件:第八章 《形态学》_第2页
机器视觉课件:第八章 《形态学》_第3页
机器视觉课件:第八章 《形态学》_第4页
机器视觉课件:第八章 《形态学》_第5页
已阅读5页,还剩48页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

形态学概述形态学一般指生物学中研究动物和植物结构的一个分支用数学形态学(也称图像代数)表示以形态为基础对图像进行分析的数学工具基本思想是用具有一定形态的结构元素去度量和提取图像中的对应形状以达到对图像分析和识别的目的形态学图像处理的数学基础和所用语言是集合论形态学图像处理的应用可以简化图像数据,保持它们基本的形状特性,并除去不相干的结构形态学图像处理的基本运算有4个:膨胀、腐蚀、开操作和闭操作形态学处理主要用于二值图像集合论基础知识集合的交、差、并、补集合与元素属于:对于某一集合(图像区域)A,若a在A之内,则称a为A的元素,a属于A,记作;反之,集合与集合并集:

记作:交集:记作补集:集合A的补集表示为:差集:集合A和集合B的差集表示为集合B的反射(或转置),定义为原集合关于原点对称,表示为集合A平移到点

表示为平移与反射闵可夫斯基加法假设有两个区域,R和S,R为待处理区域,S为结构元。闵可夫斯基加法定义为:

上式表示:S的转置进行平移与R的交集不为空膨胀膨胀:使图像扩大

A和B是两个集合,A被B膨胀定义为上式表示:S进行平移与R的交集不为空膨胀的另一个定义上式表示:S的平移与R的交集是R的子集膨胀举例集合B关于原点对称保证B的反射的平移与A的交集不为空闵可夫斯基减法假设有两个区域,R和S,R为待处理区域,S为结构元。闵可夫斯基减法定义为:

S的转置进行平移,结构元必须完全包含在R内。注意与闵可夫斯基加法的区别。腐蚀腐蚀:使图像缩小

R和S是两个集合,R被S腐蚀定义为上式表示:S进行平移仍然是R的子集腐蚀举例A被B腐蚀的结果腐蚀应用举例包含边长为1,3,5,7,9和15像素正方形的二值图像使用13×13像素大小的结构元素腐蚀原图像的结果使用13×13像素大小的结构元素膨胀图b,恢复原来15×15尺寸的正方形图a图b图c

使用腐蚀消除图像的细节部分,产生滤波器的作用几点注意闵可夫斯基加法和膨胀表达式:和区别在于结构元是否转置,只有在结构元基于原点对称时才会输出同样的处理结果。闵可夫斯基减法和腐蚀表达式:和区别在于结构元是否转置,只有在结构元基于原点对称时才会输出同样的处理结果。膨胀和腐蚀的对偶性对前景的一个闵可夫斯基加法操作等同于对背景的一个闵可夫斯基减法处理。对前景的一个闵可夫斯基减法操作等同于对背景的一个闵可夫斯基加法处理。腐蚀和膨胀的最有用的应用:计算区域的内边界和外边界内边界:先腐蚀,再从原区域中减去腐蚀得到的区域外边界:先膨胀,再从膨胀得到的区域中减去原区域击中-击不中变换采用结构元

,其中击中-击不中变换定义为:代表S中读者感兴趣的物体对应的集合,为S中背景部分对应的集合。击中-击不中变换目的:为了获得精准的匹配击中-击不中变换首先用感兴趣的物体去腐蚀图像R,得到的结果使完全包含于R中。为了在R中精确定位,排除那些仅包含但不同于的物体或区域。结构元的背景

也和R的某个背景部分完全重合。从而保证在图像R中的p点处找到一个精准匹配。击中或击不中变换举例—是形状检测的基本工具设X被包围在一个小窗口W中,与W有关的X的局部背景定义为W-XX对A腐蚀的结果W-X对A的补集腐蚀的结果它们的交集,得到X的原点位置。在该位置,X找到了在A中的匹配(击中)击中击不中变换举例IS1S2开操作和闭操作开操作:使图像的轮廓变得光滑,断开狭窄的间断和消除细的突出物使用结构元素S对集合R进行开操作,定义为含义:先用S对R腐蚀,然后用S对结果进行闵可夫斯基加法开操作示例开操作断开了狭窄连接,并去除了小于结构元的突出部分开操作的几何解释

的边界通过B中的点完成B在A的边界内转动时,B中的点所能达到的A的边界的最远点闭操作:同样使图像的轮廓变得光滑,但与开操作相反,它能消除狭窄的间断和长细的鸿沟,消除小的孔洞,并填补轮廓线中的裂痕使用结构元素S对集合R进行闭操作,定义为含义:先用S对R膨胀,然后用S对结果进行闵可夫斯基减法闭操作示例在前景物体整体位置和轮廓不变的情况下,弥合了物体之间宽度小于3个像素的缝隙闭操作的几何解释

的边界通过B中的点完成B在A的边界外转动时,B中的点所能达到的最靠近A的外边界的位置构成了闭操作的外边界。开操作和闭操作在圆形结构元的作用下,开操作使得物体小于180度的拐角变得圆滑,大于180度的角则没有变化闭操作使得物体大于180度的角变得圆滑,小于180度的角则没有变化。开操作的3条性质是A的子集如果C是D的子集,则

的子集

闭操作的3条性质

A是的子集如果C是D的子集,则

的子集

开操作和闭操作应用举例

说明:先开操作再闭操作,构成噪声滤波器

a图是受噪声污染的指纹二值图像,噪声为黑色背景上的亮元素和亮指纹部分的暗元素

b图是使用的结构元素

c图是使用结构元素对图a腐蚀的结果:黑色背景噪声消除了

d图是使用结构元素对图c膨胀的结果:包含于指纹中的噪声分量的尺寸被减小或被完全消除,带来的问题是:在指纹纹路间产生了新的间断

说明(续)

e图是对图d膨胀的结果,图d的大部分间断被恢复,但指纹的线路变粗了

f图是对图e腐蚀的结果,即对图d中开操作的闭操作。最后结果消除了噪声斑点

缺点:指纹线路还是有缺点,可以通过加入限制性条件解决形态学的主要应用-边界提取形态学的主要应用-区域填充(a)(b)(d)(e)(f)(g)(h)(i)(c)●

如图(d)所示,在区域中选取一点p,从p点开始,按照下式填充:

时,迭代结束。

和A的并集包含了被填充的区域和其边界。

形态学的主要应用-连通分量提取●

采用如下的迭代公式来提取连通区域:

时,迭代结束。

,为提取的连通区域

形态学的主要应用-骨架化

区域内所有最大圆盘的中心点构成的图形,就是目标区域的骨架。(a)(b)(c)(d)形态学的主要应用-距离变换距离变化返回的时一幅图像不是一个区域此图像的像素值是距离不是灰度值,这些距离代表的是区域内每一个点到区域外所有点的距离的最小值三种常用距离:4-连通距离,8-连通距离,欧几里得距离距离变换Halcon算子distance_transform(Region

:

DistanceImage

:

Metric,

Foreground,

Width,

Height

:)Metric

:距离计算公式,‘'chessboard',

'city-block',

'euclidean’Foreground:区域内的点还是区域外的点到区域边缘的距离距离变化Halcon示例*Steptowardsextractingthemedialaxisofashape:gen_rectangle1(Rectangle1,0,0,200,400)gen_rectangle1(Rectangle2,200,0,400,200)union2(Rectangle1,Rectangle2,Shape)distance_transform(Shape,DistanceImage,'chessboard','true',640,480)距离变换和骨架化组合应用距离变换结果缺陷金属线距离变化结果与骨架化图像的差阈值分割以后的区域骨架化的结果阈值分割结果对缺陷点膨胀并画出最小外接圆距离变换和骨架化组合应用骨架化skeleton(Region

:

Skeleton

::)Region:输入区域Skeleton:输出骨架化以后的区域腐蚀Halcon实现1、腐蚀操作,圆形作为结构元erosion_circle(Region

:

RegionErosion

:

Radius

:)2、腐蚀操作,长方形作为结构元erosion_rectangle1(Region

:

RegionErosion

:

Width,

Height

:)3、腐蚀操作,任意结构元erosion1(Region,

StructElement

:

RegionErosion

:

Iterations

:)膨胀Halcon实现1、膨胀操作,圆形作为结构元dilation_circle(Region

:

RegionDilation

:

Radius

:)2、膨胀操作,长方形作为结构元dilation_rectangle1(Region

:

RegionDilation

:

Width,

Height

:)3、膨胀操作,任意结构元dilation1(Region,

StructElement

:

RegionDilation

:

Iterations

:)产生结构元gen_circle(:

Circle

:

Row,

Column,

Radius

:)gen_ellipse(:

Ellipse

:

Row,

Column,

Phi,

Radius1,

Radius2

:)gen_rectangle1(:

Rectangle

:

Row1,

Column1,

Row2,

Column2

:)gen_rectangle2(:

Rectangle

:

Row,

Column,

Phi,

Length1,

Length2

:)开操作和闭操作Halcon实现opening(Region,

StructElement

:

RegionOpening

::)opening_circle(Region

:

RegionOpening

:

Radius

:)opening_rectangle1(Region

:

RegionOpening

:

Width,

Height

:)closing(Region,

StructElement

:

RegionClosing

::)closing(Region,

StructElement

:

RegionClosing

::)closing_rectangle1(Region

:

RegionClosing

:

Width,

Height

:)击中击不中Halcon实现hit_or_miss(Region,

StructElement1,

StructElement2

:

RegionHitMiss

:

Row,

Column

:)开操作-模板匹配read_image(letters,'letters')get_image_size(letters,Width,Height)dev_open_window(0,0,Width/2,Height/2,'black',WindowID)dev_display(letters)threshold()connection()select_obj(ConnectedRegions,ObjectSelected,100)

*腐蚀操作,得到结构元erosion_circle(ObjectSelected,RegionErosion,xx)opening()dev_display(letters)dev_set_color('red')dev_display(RegionOpening)开操作read_image(Image,'pellets')binary_threshold(Image,LightRegion,'max_separability','light',UsedThreshold)opening_circle(LightRegion,Region,3.5)erosion_circle(Region,RegionErosion,7.5)connection(RegionErosion,ConnectedRegions)count_obj(ConnectedRegions,Num)dilation_circle(ConnectedRegions,RegionDilation,7.5)count_obj(RegionDilation,Number)dev_close_window()dev_open_window(0,0,400,400,'black',WindowHandle)gen_region_polygon(Line1,[300,300,200,0],[0,200,300,300])gen_region_polygon(Line2,[350,350,250,0],[0,250,350,350])union2(Line1,Line2,Lines)dilation_circle(Lines,ThickLines,7.5)gen_circle(Error1,120,347,7.5)gen_circle(Error2,90,287,7.5)union2(ThickLines,Error1,ThichLinesAdd)difference(ThichLinesAdd,Error2,ThickLinesError)distance_transform(ThickLines,LinesDistance,'chamfer-3-4','true',400,400)skeleton(ThickLines,Skeleton)reduce_domain(LinesD

温馨提示

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

评论

0/150

提交评论