博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
开运算—闭运算
阅读量:4299 次
发布时间:2019-05-27

本文共 1073 字,大约阅读时间需要 3 分钟。

转载:

如果不了解腐蚀与膨胀原理的同学那请看我前一期博客哦!)

  • 1.开运算 
    开运算 = 先腐蚀运算,再膨胀运算(看上去把细微连在一起的两块目标分开了) 
    开运算的效果图如下图所示: 
    这里写图片描述
  • 开运算总结: 
    (1)开运算能够除去孤立的小点,毛刺和小桥,而总的位置和形状不便。 
    (2)开运算是一个基于几何运算的滤波器。 
    (3)结构元素大小的不同将导致滤波效果的不同。 
    (4)不同的结构元素的选择导致了不同的分割,即提取出不同的特征。

  • 2.闭运算 
    闭运算 = 先膨胀运算,再腐蚀运算(看上去将两个细微连接的图块封闭在一起) 
    闭运算的效果图如下图所示:

这里写图片描述

- 闭运算总结: 
(1)闭运算能够填平小湖(即小孔),弥合小裂缝,而总的位置和形状不变。 
(2)闭运算是通过填充图像的凹角来滤波图像的。 
(3)结构元素大小的不同将导致滤波效果的不同。 
(4)不同结构元素的选择导致了不同的分割。


我们可以使用opencv自带函数进行调试哦! 

openCV里有一个很好的函数getStructuringElement,我们只要往这个函数传相应的处理参数,就可以进行相应的操作了,使用起来非常方便。下面我简单列举一下相应的操作宏定义:

标识符 含义
MORPH_OPEN 开运算
MORPH_CLOSE 闭运算
MORPH_ERODE 腐蚀
MORPH_DILATE 膨胀

我就简单举个例子:

 

#include
#include
using namespace std;using namespace cv; int main(){ Mat img = imread("寒山不冷.jpg"); namedWindow("原始图", WINDOW_NORMAL); imshow("原始图", img); Mat out; //获取自定义核 第一个参数MORPH_RECT表示矩形的卷积核,当然还可以选择椭圆形的、交叉型的 Mat element = getStructuringElement(MORPH_RECT, Size(18, 18)); //具体要选择哪种操作,就修改第三个参数就可以了。这里演示的是形态学开运算处理 morphologyEx(img, out, MORPH_OPEN, element); namedWindow("形态学处理操作", WINDOW_NORMAL); imshow("形态学处理操作", out); waitKey(0); }

 

你可能感兴趣的文章
Python+Selenium练习篇之28-处理iframe切换
查看>>
Python+Selenium练习篇之29-处理Alert弹窗
查看>>
Python+Selenium练习篇之30-获取当前页面全部图片信息
查看>>
Python+Selenium练习篇之31-获取页面元素的href属性
查看>>
Python+Selenium练习篇之32-如何截图并保存
查看>>
Python+Selenium中级篇之0-设计自动化测试框架的前提技能介绍
查看>>
Python+Selenium中级篇之1-Python IDE工具-PyCharm的安装和简单使用
查看>>
Python+Selenium中级篇之2-Python中类/函数/模块的简单介绍和方法调用
查看>>
Python+Selenium中级篇之3-二次封装Selenium中几个方法
查看>>
Python+Selenium中级篇之4-封装一个自己的类-浏览器引擎类
查看>>
Python+Selenium中级篇之5-Python读取配置文件内容
查看>>
Python+Selenium中级篇之6-Python获取系统时间和格式化时间显示
查看>>
Python+Selenium中级篇之7-Python中字符串切割操作
查看>>
Python+Selenium中级篇之8-Python自定义封装一个简单的Log类
查看>>
Python+Selenium中级篇之9-把截图类方法封装到前面的BasePage.py
查看>>
Python+Selenium中级篇之10-Python中的继承的使用
查看>>
Python+Selenium框架设计篇之1-什么是自动化测试框架
查看>>
Python+Selenium框架设计篇之2-简单介绍unittest单元测试框架
查看>>
Python+Selenium框架设计篇之3-什么是POM
查看>>
Python+Selenium框架设计篇之4-框架内封装日志类和浏览器引擎类
查看>>