【OpenCV入门教程之十一】 形态学图像处理 二开运算 闭运算 形态学梯度

知乎:
邮箱:
写作当前博文时配套使用的版本: 2.4.8
上篇文章中 , 我们重点了解了腐蚀和膨胀这两种最基本的形态学操作 , 而运用这两个基本操作 , 我们可以实现更高级的形态学变换 。
所以 , 本文的主角是中的函数 , 它利用基本的膨胀和腐蚀技术 , 来执行更加高级的形态学变换 , 如开闭运算、形态学梯度、“顶帽”、“黑帽”等等 。
先上几张示例程序的截图吧:

【OpenCV入门教程之十一】 形态学图像处理 二开运算 闭运算 形态学梯度

文章插图

【OpenCV入门教程之十一】 形态学图像处理 二开运算 闭运算 形态学梯度

文章插图
有没有很熟悉这张图?没错 , 这就是最近热映的电影 ~
下面这张图的效果就有些凶残了:
【OpenCV入门教程之十一】 形态学图像处理 二开运算 闭运算 形态学梯度

文章插图
OK , 截图先看到这里 。在正文之前先来唠唠和主题相关的事情 。
第一件事 , 最新版本更新到了2.4.9 。
在写这篇博文的两天之前(4月25日上午) , 官网页面显示最新版本还是2.4.8 , 但是通过浅墨细心地发现 , 文档页面的标题已经悄悄而低调地改成了2.4.9.所以我们当时应该可以去断定 , .4.9应该马上就要和我们见面了 。
果然 , .4.9就在两天后(4月27日) , 正式在官方网站上上线了 。现在转到的官方主页 , 赫然发现最新版本已然显示为2.4.9:
【OpenCV入门教程之十一】 形态学图像处理 二开运算 闭运算 形态学梯度

文章插图
这是的官方主页传送门:
大家可以自己前去看看以及下载最新版本的 。如果不出意外的话呢 , 下次文章我们就将紧跟时代 , 用上最新版本的.4.9进行讲解和程序的书写 , 所以 , 大家在看这篇文章之后呢 , 可以去下载当前最新的2.4.9版本并装上配置好 。
第二件事 , 是浅墨想跟大家做一个关于系列文章的书写内容和风格的思想汇报 。
是这样的 , 浅墨发现最近几期写出来的文章有些偏离自己开始开这个专栏的最初的愿望——原理和概念部分占的比重有些大 , 有些弱化实际的使用 。
写这些博文的初心是教大家如何使用来写代码 , 原理部分我想很多朋友应该多少都懂 , 就算某些同学对某些概念有些模糊 , 大家也完全可以带着关键词句去或者百度 。
浅墨的想法是 , 以后的专栏文章原理部分尽量从简 , “深入”的源码剖析部分也是从简 , 重点突出“浅出”部分 , 让大家快速上手函数的使用 , 这样浅墨的工作量也会小很多 , 更新也会更勤 。
PS:浅墨其实每次在写图像处理原理部分的时候都特纠结 , 因为浅墨其实感兴趣的和大家一样 , 也是如何写代码 , 而不是那些多多少少让人提不起兴趣来的图像处理公式和概念 。这往往就照成了博文更新的拖延症 。
所以呢 , 在浅墨以后写的文章中 , 原理和深入部分我们就点到为止 , 文章的拳头内容是“浅出”部分 , 重点教大家如何快速上手 API 。我想这也是大家一直期待和想要看到的浅墨出品的文章的样子吧 。:)
OK , 大概就是这些 。我们开始今天的正题 。
一、理论与概念讲解——从现象到本质
首先呢 , 要知道形态学的高级形态 , 往往都是建立在腐蚀和膨胀这两个基本操作之上的 。而关于腐蚀和膨胀 , 概念和细节以及相关代码可以看浅墨之前写的这篇文章: