一、形态学概述

形态学(morphology)一词通常表示生物学的一个分支,该分支主要研究动植物的形态和结构,而图像处理中的形态学主要是指数学形态学。

数学形态学(Mathematical morphology)是一门建立在格论和拓扑学基础之上的图像分析学科,是数学形态学图像处理的基本理论。(简单理解:形态学是基于形状的一系列图像处理操作)

基本运算:二值腐蚀和膨胀,二值开闭运算,骨架抽取,极限腐蚀,击中击不中变换,形态学梯度,Top-hat变换,颗粒分析,流域变换,灰值腐蚀和膨胀,灰值开闭运算,灰值形态学梯度等。

二、膨胀与腐蚀

作用:(1)消除噪声;

(2)分割出独立的图像元素,在图像中连接相邻的元素‘;

(3)寻找图像中的明显的极大值或极小值区域;

(4)求出图像的梯度。

注意:腐蚀和膨胀是对白色部分(高亮部分)而言的,不是黑色部分。

膨胀:邻域扩张,效果图拥有比原图更大的高亮区域;

腐蚀:原图中的高亮部分被腐蚀,邻域缩小,效果图拥有比原图更小的高亮区域。

膨胀或腐蚀:将图像(或图像的一部分区域,A)与核(B)卷积。

核:可以是任何形状和大小,它拥有一个单独定义的参考点,称为锚点。多数情况下,核是一个中间带有参考点和实心正方形或者圆形。

三、膨胀

膨胀:求局部最大值操作。

核B与图形A卷积,即计算核B覆盖的区域的像素点的最大值,并把这个最大值赋值给参考点指定的像素。

代码:

#coding=utf-8
import cv2
image = cv2.imread("F:/a.jpg",0);
#构造一个3×3的结构元素
element = cv2.getStructuringElement(cv2.MORPH_RECT,(3, 3))
dilate = cv2.dilate(image, element)
erode = cv2.erode(image, element)#将两幅图像相减获得边,第一个参数是膨胀后的图像,第二个参数是腐蚀后的图像
result = cv2.absdiff(0,erode);#上面得到的结果是灰度图,将其二值化以便更清楚的观察结果
retval, result = cv2.threshold(result, 40, 255, cv2.THRESH_BINARY);
#反色,即对二值图每个像素取反
result = cv2.bitwise_not(result);
#显示图像
#cv2.imshow("result",result);
cv2.imwrite("F:/b.jpg",result)
cv2.waitKey(0)
cv2.destroyAllWindows()

四、腐蚀

腐蚀:与膨胀是一对相反的操作,腐蚀是求局部最小值的操作。

代码:

#coding=utf-8
import cv2
image = cv2.imread("F:/a.jpg",0);
#构造一个3×3的结构元素
element = cv2.getStructuringElement(cv2.MORPH_RECT,(3, 3))
dilate = cv2.dilate(image, element)
erode = cv2.erode(image, element)#将两幅图像相减获得边,第一个参数是膨胀后的图像,第二个参数是腐蚀后的图像
result = cv2.absdiff(dilate,0);#上面得到的结果是灰度图,将其二值化以便更清楚的观察结果
retval, result = cv2.threshold(result, 40, 255, cv2.THRESH_BINARY);
#反色,即对二值图每个像素取反
result = cv2.bitwise_not(result);
#显示图像
#cv2.imshow("result",result);
cv2.imwrite("F:/c.jpg",result)
cv2.waitKey(0)
cv2.destroyAllWindows()

图像处理一:形态学膨胀和腐蚀相关推荐

  1. 【图像处理】——Python OpenCV实现形态学膨胀、腐蚀开闭操作(可以用于图像滤波、图像分割等)

    转载博客请注明详细地址,谢谢 本文讲了形态学基本操作膨胀腐蚀开闭操作的原理 本文讲解了用OpenCV-Python实现形态学操作 目录 一.形态学简述 1.简介 2.一些基本定义 3.结构元素 (1) ...

  2. 数字图像处理(12): 形态学处理——图像腐蚀与图像膨胀

    目录 1 形态学操作 2 图像腐蚀 3 图像膨胀 参考资料 1 形态学操作 形态学(morphology)一词通常表示生物学的一个分支,该分支主要研究动植物的形态和结构.这里,我们使用同一词语表示数学 ...

  3. matlab腐蚀膨胀代码_(三十二)形态学----膨胀和腐蚀

    时间为友,记录点滴. 我们在<初始滤波之均值滤波>中有聊过滤波的本质,以及介绍了其中一种线性滤波(均值滤波).对于常见的非线性滤波"中值滤波"也在<视频的读取和处 ...

  4. 25.消除不相关的细节/裂缝桥接(形态学 --膨胀与腐蚀详解 )--- OpenCV从零开始到图像(人脸 + 物体)识别系列

    本文作者:小嗷 微信公众号:aoxiaoji 吹比QQ群:736854977 简书链接:https://www.jianshu.com/u/45da1fbce7d0 本文你会找到以下问题的答案: 形态 ...

  5. 形态学 - 膨胀和腐蚀

    目录 1. 介绍 2. 代码实现 2.1 腐蚀 2.2 膨胀 1. 介绍 形态学是生物学的一个分支,主要研究动植物的形态和结构.这里,我们应用形态学简化图像的数据,取出不重要的结构,仅仅保持图像的基本 ...

  6. 膨胀 腐蚀 开运算 闭运算 matlab,11. 形态学膨胀、腐蚀、开运算、闭运算

    1. 膨胀:对边界点进行扩充,填充空洞,使边界向外部扩张的过程. 2. 腐蚀:消除物体边界点,使边界向内部收缩的过程,把小于结构元素的物体去除掉. 3. 开运算: 先腐蚀后膨胀的过程称为开运算,作用: ...

  7. OpenCV——图像处理入门:膨胀与腐蚀、图像模糊、边缘检测

    全部外部依赖项: 1 opencv_aruco341d.lib 2 opencv_bgsegm341d.lib 3 opencv_calib3d341d.lib 4 opencv_bioinspire ...

  8. 11. 形态学膨胀、腐蚀、开运算、闭运算

    1. 膨胀:对边界点进行扩充,填充空洞,使边界向外部扩张的过程. 2. 腐蚀:消除物体边界点,使边界向内部收缩的过程,把小于结构元素的物体去除掉. 3. 开运算: 先腐蚀后膨胀的过程称为开运算,作用: ...

  9. 灰度图像形态学膨胀与腐蚀

    灰度膨胀 灰度膨胀的实质就是局部最大值, 灰度腐蚀 灰度腐蚀的实质就是局部最小值 摘自http://blog.sina.com.cn/s/blog_6f57a7150100ooin.html

最新文章

  1. Java平均工资再次上涨!这份宝藏资料限量免费送!
  2. poj 2524 Ubiquitous Religions (并查集)
  3. vivado2017.4安装教程
  4. 天天象棋 残局闯关 第10关
  5. 用python给女朋友惊喜100天快乐_100天从 Python 小白到大神最良心的学习资源!
  6. leangoo如何邀请成员加入看板?
  7. Python 错误和异常小结[转]
  8. 评论语义分析 分词 分类python_用python调用ICTCLAS50进行中文分词
  9. java获取泛型的值_java 反射之获取泛型对象的所有字段与对应的值(包括父类的)...
  10. Mysql学习总结(67)——MYSQL慢查询日志
  11. 【jQuery 遍历】 - map() 方法
  12. 今日复习的linux命令
  13. 摘来的 esri 的 js 的 一些东西 来自ESRI中国社区 by xiaoyaohu
  14. keepass和坚果云实现全平台密码管理
  15. Photoshop实用的快捷键大全
  16. 决策树和随机森林预测员工离职率学习代码
  17. 利用python将长视频、长语音转换成文字教程 ,非常好用
  18. 最简明扼要的 Systemd 教程,只需十分钟
  19. 编译原理课堂笔记(1)编译概述
  20. MYSQL必知必会笔记:第四章检索数据

热门文章

  1. 智能手机的超性能语音识别技术简介
  2. win10一直正在检查更新_win10一直存在的烦人问题,终于被彻底解决!你会选择更新么?...
  3. 导入php项目_商业裂变,之项目技术实战(第九节:程序框架的安装)
  4. 【深度优先搜索/树】计蒜客:族谱
  5. 【java笔记】of方法 JDK9对集合添加方法的优化
  6. FFMPEG源码分析:avformat_open_input()(媒体打开函数)
  7. 8运行不了_民航局暂停运行737max8,分析可能因为“它”导致飞机俯冲坠落
  8. 曙光天阔服务器文档,曙光天阔服务器远程控制手册(附件).doc
  9. SpringMVC:400 Bad Request
  10. oracle ORA-00054 资源正忙