OpenCV形态学处理使用技巧与应用演示
重磅干货 , 第一时间送达
形态学中常用的方法有膨胀 , 腐蚀 , 开运算 , 闭运算 , 形态学梯度 , 顶帽 , 黑帽和击中击不中 , 大多以膨胀和腐蚀为基础操作 , 需要注意的是膨胀和腐蚀都是对图像中的高亮部分(二值图白色部分)处理起作用 , 如果是白色背景黑色目标要做取反操作 , 否则得到的结果是相反的 。 进入正题 , 技巧与应用场景介绍:
(1)膨胀的应用 。 膨胀的结果类似“领域扩张” , 白色区域将会扩大 , 常用于断开区域的连接 。 如下图 , 假如想连接3条线
文章图片
我们可以这么做:
【OpenCV形态学处理使用技巧与应用演示】
文章图片
虽然3段线段连成了1段 , 但是线的宽度明细也增加了 , 如果我不想线的宽度明显增加怎么办?答案是修改结构元素的Size值 , 比如为Size(1,15) , 这样增大竖直方向的膨胀力度(反之增大水平方向膨胀力度) , 效果如下:
文章图片
(2)腐蚀的应用 。 腐蚀的结果类似“领域蚕食” , 白色区域将会缩小 , 常用于连接区域的切断 。 下面的图像 , 假如只想保留水平线 , 该怎么操作?
文章图片
同样在结构元素Size上做文章 , 设置Size值为Size(60 , 1) , 不与它相似的区域结构将被腐蚀 , 效果如下:
文章图片
(3)开运算应用 。 比如下面的图像 , 如果想去除字母C区域周围的毛边 , 就可以用开运算 。 
文章图片
代码与效果:
文章图片
(4)闭运算应用 。 比如下面的图像 , 如果想去除字母C区域内部的黑色孔洞 , 就可以用闭运算 。 
文章图片
代码与效果:
文章图片
(5)形态学梯度应用 。 比如下面的图像 , 提取边缘或轮廓框架 , 就可以用形态学梯度 。 
文章图片
代码与效果:
文章图片
(6)顶帽应用 。 比如下面的图像 , 想提取C区域的边缘毛刺 , 就可以用顶帽操作 。 
文章图片
代码与效果:
文章图片
(7)黑帽应用 。 比如下面的图像 , 想提取C区域的内部黑洞区域 , 就可以用黑帽操作 。 
文章图片
代码与效果:
文章图片
(8)自定义结构元素应用 。 特定的结构元素会特定的结构区域特别起作用 。 比如圆形结构元素对圆形区域效果特别好 , 但是OpenCV默认值提供了3中结构 , 不包含圆形 , 那么我们可以自己创建圆形结构元素 , 通过画圆或遍历像素的方法 。 如下图 , 我们分别用矩形结构元素和圆形结构元素腐蚀 , 查看对比效果:
文章图片
矩形结构元素与效果:
文章图片
自定义圆形结构元素与效果(更好的保留了圆形结构):
文章图片
下载1:OpenCV-Contrib扩展模块中文版教程
下载2:Python视觉实战项目52讲
- timmy|贵宾因长得丑被宠物店“打折处理”,新主人带它回家后,颜值秒逆袭!
- 叛军处理战俘做法残忍,将军大怒搬出大国武器,敌方攻势瞬间瓦解
- RedmiBook Pro 14s/15s 稍后发布:搭载 AMD 锐龙 5000U/H处理器
- OPPO A94 手机正式发布:处理器未升级,前置摄像头提高到 3200 万像素
- BGPLUS科研进阶 | 加州大学洛杉矶分校 | 生物学:脑机接口及神经信号处理
- 名爵3SW-让汽修厂闻风丧胆的发动机渗油处理。
- 《影之刃3》无法重复触发事件异常处理方式 无法重复触发事件如何快速解决
- 德承工控机支持第九代Intel Core和Xeon处理器 德承科技
- 欧米茄金手表有划痕应该怎么处理?
- 强效除臭降污活菌剂,除臭、处理有机废水效果好,不需要激活使用
