浅墨的想法是,以后的专栏文章原理部分尽量从简,“深入”的源代码剖析部分也是从简,重点突出“浅出”部分,让大家高速上手OpenCV函数的使用。这样浅墨的工作量也会小非常多,更新也会更勤。
PS:浅墨事实上每次在写图像处理原理部分的时候都特纠结,由于浅墨事实上感兴趣的和大家一样。也是怎样写代码,而不是那些多多少少让人提不起兴趣来的图像处理公式和概念。这往往就照成了博文更新的迟延症。
所以呢。在浅墨以后写的OpenCV文章中。原理和深入部分我们就点到为止。文章的拳头内容是“浅出”部分,重点教大家怎样高速上手OpenCV API。我想这也是大家一直期待和想要看到的浅墨出品的文章的样子吧。:)
OK。大概就是这些。
我们開始今天的正题。
一、理论与概念解说——从现象到本质
首先呢,要知道形态学的高级形态,往往都是建立在腐蚀和膨胀这两个基本操作之上的。而关于腐蚀和膨胀,概念和细节以及相关代码能够看浅墨之前写的这篇文章:
【OpenCV新手教程之十】 形态学图像处理(一):膨胀与腐蚀
对膨胀和腐蚀心中有数了,接下来的高级形态学操作,应该就不难理解。
另外,为了以下对照和演示以及理解的方便。浅墨自己制作了一张毛笔字图,这里先上原图:
OK,我们開始解说。
开运算(Opening Operation),事实上就是先腐蚀后膨胀的过程。
其数学表达式例如以下:
开运算能够用来消除小物体、在纤细点处分离物体、平滑较大物体的边界的同一时候并不明显改变其面积。效果图是这种:
实际效果图:
先膨胀后腐蚀的过程称为闭运算(Closing Operation)。其数学表达式例如以下:
闭运算能够排除小型黑洞(黑色区域)。
效果图例如以下所看到的:
实际效果图: