数学形态学 Morphology

教材编写思路:

  1. 上效果图
  2. 如何计算出来的 -> 图片透明度 -> 展示
  3. 用途
  4. 代码实例, 找到合适的图片.
  5. GUI 调整滑块, 动态显示效果

形态学处理

数学形态学(也称图像代数)表示以形态为基础对图像进行分析的数学工具。他的基本O思想是用具有一定形态的结构元素去量度和提取图像中的对应形状以达到对图像分析和识别的目的。数学形态学的应用可以简化图像数据,保持他们基本的形状特征,并出去不相干的结构。数学形态学的算法有天然的并行实现的结构。 ​ 在图像处理方面,二值形态学经常应用到对图像进行分割,细化,抽取骨架,边缘提取,形状分析,角点检测,分水岭算法等等。由于其算法简单,算法能够并行运算所以经常应用到硬件中。

形态学运算中腐蚀,膨胀,开运算和闭运算。

1. 腐蚀 corrosion

腐蚀是一种消除边界点,使边界向内部收缩的过程。可以用来消除小且无意义的物体。 腐蚀的算法: 用3x3的结构元素,扫描图像的每一个像素 用结构元素与其覆盖的二值图像做“与”操作 如果都为1,结果图像的该像素为1。否则为0。 结果:使二值图像减小一圈

Erosion

2. 膨胀 dilate

膨胀是将与物体接触的所有背景点合并到该物体中,使边界向外部扩张的过程。可以用来填补物体中的空洞。 膨胀的算法: 用3x3的结构元素,扫描图像的每一个像素 用结构元素与其覆盖的二值图像做“与”操作 如果都为0,结果图像的该像素为0。否则为1 结果:使二值图像扩大一圈

Dilation

3. 开运算 opening

先腐蚀后膨胀的过程称为开运算。用来消除小物体、在纤细点处分离物体、平滑较大物体的边界的同时并不明显改变其面积。 dst = open(src, element) = dilate(erode(src,element))

开运算示例

img

img

4. 闭运算 closing

先膨胀后腐蚀的过程称为闭运算。用来填充物体内细小空洞、连接邻近物体、平滑其边界的同时并不明显改变其面积。 dst = open(src, element) = erode(dilate(src,element))

闭运算示例

img

img

5. 形态学梯度

求的是边缘

膨胀图与腐蚀图之差。

能够保留物体的边缘轮廓

形态学梯度示例

img

对二值图像进行这一操作可以将团块(blob)的边缘突出出来。我们可以用形态学梯度来保留物体的边缘轮廓

因为开运算带来的结果是放大了裂缝或者局部低亮度的区域,因此,从原图中减去开运算后的图,得到的效果图突出了比原图轮廓周围的区域更明亮的区域,且这一操作和选择的核的大小相关。

6. 顶帽

原图像与开运算结果图之差 dst = tophat(src, element) = src - open(src, element)

顶帽示例

img

顶帽运算往往用来分离比邻近点亮一些的斑块。当一幅图像具有大幅的背景的时候,而微小物品比较有规律的情况下,可以使用顶帽运算进行背景提取。

7. 黑帽

闭运算结果图与原图像之差

黑帽示例

黑帽运算后的效果图突出了比原图轮廓周围的区域更暗的区域,且这一操作和选择的核的大小相关。

所以,黑帽运算用来分离比邻近点暗一些的斑块。非常完美的轮廓效果图:

img

Hit-and-Miss Transform

找到转折点

img

Thinning

Screenshot_20170722_160231

Tickening

img

找到外围的凸包

Thining 产生的图, 就像骨架, 从骨架上,生长出来的就是 Tickening

Screenshot_20170722_160342

Skeletonization/Medial Axis Transform

找到图像的骨架

img

Boundary Extraction

 Screenshot_20170722_155956

Region Filling

Extraction of connected components

Convex Hull

Pruning

二值形态学应用范围

二值形态学经常应用到对图像进行分割,细化,抽取骨架,边缘提取,形状分析,角点检测,分水岭算法等等。由于其算法简单,算法能够并行运算所以经常应用到硬件中。

REFERENCE

木夜溯 系列文章

Opencv之形态学

非常简单阐明了腐蚀, 膨胀, 开运算与闭运算相关的概念

http://www.jianshu.com/p/3c9c576104eb

OpenCV之灰度化算法

http://www.jianshu.com/p/6d7539edad97

OpenCV之二值化

http://www.jianshu.com/p/6efd324e8677

ROBOTIX - Noise Reduction

http://2016.robotix.in/tutorial/opencv/noise_reduction/

系列教程©2003 R. Fisher, S. Perkins, A. Walker and E. Wolfart.

https://homepages.inf.ed.ac.uk/rbf/HIPR2/morops.htm

Youtube - Udacity 课程 - Basic Morphological Algorithm

https://www.youtube.com/watch?v=SfHJlinkPK8

Udacity的整套课程

https://www.youtube.com/watch?v=2S4nn7S8Hk4&list=PLAwxTw4SYaPnbDacyrK_kB_RUkuxQBlCmS

【OpenCV入门教程之十】 形态学图像处理(一):膨胀与腐蚀

http://blog.csdn.net/poem_qianmo/article/details/23710721

【OpenCV入门教程之十一】 形态学图像处理(二):开运算、闭运算、形态学梯度、顶帽、黑帽合辑

http://blog.csdn.net/poem_qianmo/article/details/24599073

Copyright 杭州云江科技有限公司 2017 all right reserved,powered by Gitbook该文件修订时间: 2018-04-02 09:53:12

results matching ""

    No results matching ""