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

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

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


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


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

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

我就简单举个例子:

#include<opencv2\opencv.hpp>
#include<opencv2\highgui\highgui.hpp>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);}

形态学应用——图像开运算与闭运算相关推荐

  1. 图像形态学概要-腐蚀、膨胀、开运算、闭运算、形态学梯度(形态学边缘提取)、顶帽操作、黑帽操作

    图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 图像形态学中两种最基本的操作就是对图形的腐蚀和膨 ...

  2. [Python图像处理] 九.形态学之图像开运算、闭运算、梯度运算

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  3. 图像形态学(腐蚀、膨胀、开运算、闭运算、梯度、顶帽、黑帽)

    一.腐蚀: 消除图像中不重要的边缘信息. 二.膨胀: 可以看作为腐蚀的逆过程. 三.开运算: 开运算(open) ,先腐蚀后膨胀的过程.开运算可以用来消除小黑点,在纤细点处分离物体.平滑较大物体的边界 ...

  4. 图像开运算、闭运算、形态学梯度、“礼帽”和“黑帽”

    一.概念 图像的腐蚀和膨胀可以做更多的事情,可以通过膨胀和腐蚀来做一些图像的高级形态学变化,图像的高级形态学变化 有图像的开运算.闭运算.形态学梯度.顶帽,黑帽. 二.图像高级形态学变化 1.开运算: ...

  5. OpenCV 形态学操作之腐蚀与膨胀,开运算与闭运算,顶帽与黑帽,图像梯度运算相关知识点回顾

    Python OpenCV 365 天学习计划,与橡皮擦一起进入图像领域吧.本篇博客是这个系列的第 45 篇. 该系列文章导航参考:https://blog.csdn.net/hihell/categ ...

  6. 图像形态学:开运算和闭运算

    形态学要有一个先验概念,即: 白色的,当作存在,即 边界,噪点,杂点, 黑色的,当作 黑洞,不存在 以下,就可以很好理解了,腐蚀,即把白色的边界变细小,膨胀,即把白色的边界变粗大,膨胀. 腐蚀膨胀是相 ...

  7. 《OpenCv视觉之眼》Python图像处理十 :Opencv图像形态学处理之开运算、闭运算和梯度运算原理及方法

    本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的.不同方法的处理,以达到对图像进行去噪.锐 ...

  8. (自己编写函数)Python + Opencv 图像形态学处理(腐蚀、膨胀、开运算、闭运算)

    原理: 形态学运算是结构元素与图像进行逻辑运算,产生新的图像的图像处理方法.二值图像B和结构元素S是定义在笛卡儿网格上的集合,网格中值为1的点是集合的元素. 腐蚀 定义: 算法: a) 用3x3的结构 ...

  9. 《OpenCV3编程入门》学习笔记6 图像处理(四)形态学滤波(2):开运算、闭运算、形态学梯度、顶帽、黑帽

    6.4 形态学滤波(2):开运算.闭运算.形态学梯度.顶帽.黑帽 高级形态学变换,基于腐蚀与膨胀,利用morphologyEx函数实现 6.4.1 开运算 1.腐蚀后膨胀的过程,数学表达式:dst=o ...

最新文章

  1. 湘苗培优 | 从入门到精通
  2. MySQL—02—MySQL的操作
  3. react系列知识---11组件间抽象
  4. ts可展开注释_TS语法之装饰器(注解)
  5. java实现登陆面试题_【Javaweb】笔面试题 ---(1)(示例代码)
  6. redis 连接池_SpringBoot整合redis
  7. fastdfs上传文件时报错No route to host
  8. java peek函数_基础篇:JAVA.Stream函数,优雅的数据流操作
  9. mysql的cpu飙升到500_[MySQLCPU]线上飙升800%,load达到12的解决过程
  10. Java Virtual Machine报错:A Java Exception has occured
  11. 项目管理学习笔记二:信息系统服务管理
  12. 自定义控件使用InnerDefaultProperty提示“内不允许包含文字内容”
  13. 计算机视觉实战(五)图像梯度计算
  14. Steam怎么和Steam link远程畅玩?
  15. Java实现一个简单的计算器功能
  16. 【ArcGIS小技巧视频教程】(5):在ArcGIS中挂接其他数据
  17. Eclipse 常用快捷键整理
  18. mysql连接耗尽_连接池耗尽了!!!
  19. [剑指 offer] -- 动态规划-- 面试题46. 把数字翻译成字符串
  20. 通达信指标:趋势主升信号幅图,高抛低吸波段选股器

热门文章

  1. javaXML方式传输图片
  2. Java核心全知识点梳理
  3. Django支付宝自动转账功能(二)
  4. ubuntu 定时发送邮件
  5. 2012-12-21世界末日是不会来了。
  6. 【机器学习】李宏毅——何为反向传播
  7. android接口回调的两中简单写法
  8. Arduino教程 模拟输入输出以及电机和舵机控制
  9. 自动化测试中,三种常用的等待方式,强制式(sleep) 、 隐式 ( implicitly_wait ) 、显式(expected_conditions)
  10. 全流程调度——Azkaban入门与进阶