在前面,我们讲了二值图的腐蚀和膨胀运算

其实我们很容易把腐蚀和膨胀的概念扩展到灰度图上面去

在讲二值图时,我们把粗框区域作为黑色区域

而对于灰度图,我们把粗框区作为整个图形区域

对于图形中的任一点,以其为中心的一个窗口,在窗口与原图的重合部分。

若我们把重合区域中所有点灰度值的最大值赋给当前点,就是对灰度图的腐蚀操作

若我们把重合区域中所有点灰度值的最小值赋给当前点,就是对灰度图的膨胀操作

我们能看到,除了图像边缘的点之外,一般点的重合区域都和所选的窗口一样大

如图中,我们把一个圆作为一个窗口。同样,你能把任意形状作为窗口

好啦,我们就以方框作为窗口来编程

importcvdefChange(image,flag=0,num=2):

w=image.width

h=image.height

size=(w,h)

iChange=cv.CreateImage(size,8,1)foriinrange(h):forjinrange(w):

a=[]forkinrange(2*num+1):forlinrange(2*num+1):if-1

a.append(image[i-num+k,j-num+l])ifflag==0:

k=max(a)else:

k=min(a)

iChange[i,j]=kreturniChange

image=cv.LoadImage('lena.jpg',0)

iCorrode=Change(image)

iExpand=Change(image,1)

iOpen=Change(iCorrode,1)

iClose=Change(iExpand)

cv.ShowImage('image',image)

cv.ShowImage('iCorrode',iCorrode)

cv.ShowImage('iExpand',iExpand)

cv.ShowImage('iOpen',iOpen)

cv.ShowImage('iClose',iClose)

cv.WaitKey(0)

函数中flag为0表示腐蚀,为其它值是表示膨胀

num=2 表示为5×5的窗口

我们可以在调用函数的时候改变窗口的大小

我们在处理的时候用了多层循环,所以计算会花很长时间,我用一幅256×256的图。跑上面的程序需要花六七秒的时间

不知道有没有什么好方法

好了,我们来看看运行效果吧

(若例子中使用的图有版权问题,请与我联系)

腐蚀图像相对原图偏亮,膨胀图像相对原图偏暗

好啦,这就是灰度图的腐蚀操作

和前面的二值图操作其实很像

python灰度处理_python 简单图像处理(14) 灰度图腐蚀和膨胀,开运算、闭运算...相关推荐

  1. python灰度处理_python 简单图像处理(9) 灰度变换

    对这个工具,你一定很熟悉吧,Photoshop里有,很多简单的图像处理软件里面也会有 那这个工具到底是什么意思呢,它和我们要讲到的灰度变换有很大的关系 在图像处理中,像图像度变换和直方图均衡都属于点运 ...

  2. python 简单图像处理(13) 二值图腐蚀和膨胀,开运算、闭运算

    原文:http://www.cnblogs.com/xianglan/archive/2010/12/29/1921211.html python 简单图像处理(13) 二值图腐蚀和膨胀,开运算.闭运 ...

  3. OpenCV与图像处理学习六——图像形态学操作:腐蚀、膨胀、开、闭运算、形态学梯度、顶帽和黑帽

    OpenCV与图像处理学习六--图像形态学操作:腐蚀.膨胀.开.闭运算.形态学梯度.顶帽和黑帽 四.图像形态学操作 4.1 腐蚀和膨胀 4.1.1 图像腐蚀 4.1.2 图像膨胀 4.2 开运算与闭运 ...

  4. 数字图像处理(十)腐蚀和膨胀

    文章目录 前言 一.腐蚀 1.概念 2.算法的具体步骤 3.举例 4.python代码 二.膨胀 1.概念 2.算法步骤 3.举例 4.C++代码 5. 结果展示 参考资料 前言   二值图像中一类主 ...

  5. python 艺术照片滤镜_Python批量为照片应用灰度滤镜

    引言 黑白照片很有年代感,让人怀念,自己动手可以把自己喜爱的彩色照片设计成有情怀的黑白照片,使用 OpenCV-Python 模块实现批量为照片添加灰度滤镜. 红包.png 早安阳光.png 思路设计 ...

  6. 如何用python绘制灰度直方图_python如何显示图像的灰度直方图-女性时尚流行美容健康娱乐mv-ida网...

    女性时尚流行美容健康娱乐mv-ida网 mvida时尚娱乐网 首页 美容 护肤 化妆技巧 发型 服饰 健康 情感 美体 美食 娱乐 明星八卦 首页 > 高级搜索 python opencv处理 ...

  7. python星期计算_Python简单计算给定某一年的某一天是星期几示例

    本文实例讲述了Python简单计算给定某一年的某一天是星期几.分享给大家供大家参考,具体如下: # -*- coding:utf-8 -*- #计算某特定天使星期几 #蔡勒公式:w=y+[y/4]+[ ...

  8. python绘制糖葫芦_python简单爬虫(一)

    学习python前纠结了下,到底是应该一个个知识点吃透,然后写些小程序.还是应该快速掌握基础语法,快速实践.思考后认为前者这么学习速度真心不高,于是花2天时间看了下python3的语法,虽然很多都不明 ...

  9. python总结简短_Python简单的基础总结

    前言 学习Python已有两年,试着对知识点做出一些简单的总结.可能还会有下一期. 注释 为什么要使用注释 注释知在程序中没有任何用处,既不会干扰代码的运行也不会将内容进行打印.那我们为什么要学习注释 ...

最新文章

  1. 课堂上我们为什么不发言
  2. 微信公众号的分享功能
  3. LNMP-源码 nginx ,keepalived
  4. 逻辑回归的通俗解释 逻辑回归的定位
  5. 关Jquery判断input type=checkbox元素是否被选中的判断
  6. jdk中提供的Collection、Collections、Collector、Collectors你分的清楚?
  7. JavaScript 中的 this
  8. SQL-Server2008数据库异常报错
  9. 【TWVRP】基于matlab人工鱼群算法求解带时间窗的车辆路径规划问题【含Matlab源码 161期】
  10. HTTP代理怎样使用
  11. Http免费升级Https详细步骤【Let's Encrypt】
  12. c语言lr分析器的设计与实现_ShinyJson实践之路:词法分析器的设计与实现
  13. 微信小程序开发学习笔记一
  14. 2019软件工程第三次作业
  15. Thinking -- CSS从根解决选择前一个兄弟元素
  16. 【Unity3d】 制作游戏主菜单 GUI
  17. 记一次个人网站logo设计
  18. 无法搜出共享打印机的计算机名,Win10搜不到共享打印机怎么回事?Win10搜不到共享打印机的处理方法...
  19. A. Banana 2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛
  20. 《L-谷氨酰胺和L-精氨酸发酵生产》全书阅读笔记

热门文章

  1. java铲车_深入研究Java类装载机制
  2. CE驱动程序快速入门
  3. 【机器学习】概率神经网络(PNN)的python实现
  4. Spring框架(IoC、AOP面向接口切面)
  5. 计算机组成原理实验基本运算器,计算机组成原理运算器实验-20210611075033.docx-原创力文档...
  6. Red and Black(红与黑)BFS
  7. Groovy 转换JSON和生产JSON
  8. jQuery实现省市二级联动
  9. 电脑开机3秒就重启循环_手机怎么才能投屏到电脑上?3个方法,小屏1秒变大屏,涨知识了...
  10. LNK 2001:无法解析的外部符号 _sprintf