当前位置:新励学网 > 秒知问答 > 形态学算法

形态学算法

发表时间:2024-07-13 00:48:28 来源:网友投稿

形态学二值运算包括膨胀,腐蚀,开运算和闭运算基本方法,如下图所示,膨胀运算和闭运算的效果总体上对图像而言是一个区域增长的过程,而腐蚀和开运算是一个区域减少的运算。

HitandMiss算法中文称之为“击中击不中变换”,其数学表达式如下所示:

以上计算方式可以认为是对前景进行腐蚀运算,再对背景进行腐蚀运算,最后再求交集,得到HitandMiss的结果,其运算结果如下所示:

这是一个在前景上fit,背景上Miss的过程,可以用来求取图像上的一些边缘点,顶点或者是一些孤立点,如下图所示,通过HitandMiss算法能够得到齿轮的顶点。

HitandMiss算法的实现过程可以分为以下几个步骤:

如下图所示利用四个表示左上角,右上角,左下角和右下角的SE对原图进行HitandMiss运算,可以实现一个角度检测的功能。

PatternSpectrum用来描述粒度尺寸的密度情况,简单来说也就是表示图像中物体尺寸的分布情况。对于图像,利用一系列大小不同的SE(记为)求取PatternSpectrum(记为)的表达式,如下所示:

其中Card表示对当前物体尺寸的数量进行计数。

PatternSpectrum的计算过程可以描述为以下几个步骤:

注意:上述步骤的循环过程中,随着的增加,结构化元素SE的尺寸也会随之扩展,这意味着图像中尺寸较小的目标将会在初始阶段被过滤,而随着SE的扩张,图像中尺寸越来越大的目标也会逐渐消失。

PatternSpectrum的应用实例如下所示,可以看出,对一个包含不同大小目标的图像而言,随着PatternSperctrum过程,利用尺寸不断扩展的SE进行开运算,图像中的物体会根据尺寸大小的不同被逐渐抹去。

最后通过PatternSpectrum可以得到图像中不同尺寸目标的分布情况,如下图所示:

PatternSpectrum不仅可以用来分析图像中不同尺寸目标的分布情况,而且还可以用来分析目标的形状,如下图所示,数字“3”和“5”在形状上具有相似性,所以其PatternSpectrum的波形也具有相似性。

对一副图像进行多次dilatio的过程称之为recursivedilation,其定义如下所示:

与RecursiveDilation相对应的一种形态学算法是RecursiveErosion,对一副图像实现递归腐蚀的算法,其数学定义公式如下:

当对图像中的目标实现RecursiveErosion时,目标的尺寸会逐渐减小,直到完全消失。

Recursive可以用来实现图像分割,如下图所示,对一副图像执行RecursiveErosion时,图像的中的目标会逐渐缩小,相连的区域会逐渐分离。

对一副二值图像RescursiveErosion,每一次Erosion都会抹去图像中的一些像素点,按照RescursiveErosion的操作,将每次通过Erosion抹去的像素点标记为Erosion的次数,则可以将二值图像转换为灰度图像,此过程被称之为DistanceTransform,具体如下图示例所示:

为了更加直观地理解DistanceTransform的过程,整个DistanceTransform的过程如下图所示:

按照SE的不同,DistanceMetrics可以分为以下三类:

CityBlockDistance的实现,可以从公式中看出,用到了矩形的SE,也就是一个8领域SE,其实现效果如下:

一些DIstanceTransform的效果图如下图所示:

通过上述DistanceTransform的效果图可以看出,通过DistanceTransform的转换,得到的效果图中,距离图像边缘最远的点,中间会形成一条近似于白色的线,这些白色的线,在形态学中,被定义为Skeleton,如下图所示:

Skeleton的实现,用数学公式可以描述为一下两个步骤:

通过Erosion可以得到一副图像的Skeleton,那么如果知道Skeleton过程中的一系列和Skeleton子集,那么通过与Erosion相反的运算Dilation,可以将Skeleton恢复成原图,这一过程称之为SkeletonReconstruction其数学定义如下图所示:为了更形象地理解Skeleton和SkeletonReconstruction的实现过程,有如下示例:

如上图通过DistanceTransform可以得到图像中关于像素的一组局部8领域最大值(局部最大值),只要将这些局部最大值提取出来,就得到了原图的Skeleton

而将Skeleton恢复成原图的过程,可以用下图表示

如上图SkeletonReconstruction的过程与求DistanceTransform的过程想反,可以表述为,先对SE的size为3的像素点进行Dilation,再对SE的size为2的像素点进行Dilation,最后对SE的size为1的点进行Dilation,最后实现SkeltonReconsturction

免责声明:本站发布的教育资讯(图片、视频和文字)以本站原创、转载和分享为主,文章观点不代表本网站立场。

如果本文侵犯了您的权益,请联系底部站长邮箱进行举报反馈,一经查实,我们将在第一时间处理,感谢您对本站的关注!