Python从0到1丨图像增强及运算形态学开运算闭运算和梯度运算
本文分享自华为云社区《[Python从零到壹] 四十八.图像增强及运算篇之形态学开运算、闭运算和梯度运算-云社区-华为云》,作者: eastmount 。
本文主要介绍图像形态学处理,详细讲解了图像开运算、闭运算和梯度运算。数学形态学是一种应用于图像处理和模式识别领域的新方法,其基本思想是用具有一定形态的结构元素去量度和提取图像中对应形状以达到对图像分析和识别目的。一.图像开运算
开运算一般能平滑图像的轮廓,削弱狭窄部分,去掉较细的突出。闭运算也是平滑图像的轮廓,与开运算相反,它一般熔合窄的缺口和细长的弯口,去掉小洞,填补轮廓上的缝隙。图像开运算是图像依次经过腐蚀、膨胀处理的过程,图像被腐蚀后将去除噪声,但同时也压缩了图像,接着对腐蚀过的图像进行膨胀处理,可以在保留原有图像的基础上去除噪声。其原理如图1所示。
设A是原始图像,B是结构元素图像,则集合A被结构元素B做开运算,记为A◦B,其定义为:
换句话说,A被B开运算就是A被B腐蚀后的结果再被B膨胀。图像开运算在OpenCV中主要使用函数morphologyEx(),它是形态学扩展的一组函数,其函数原型如下:
dst = cv2.morphologyEx(src, cv2.MORPH_OPEN, kernel)src表示原始图像cv2.MORPH_OPEN表示图像进行开运算处理kernel表示卷积核,可以用numpy.ones()函数构建
图像开运算的代码如下所示:# -*- coding: utf-8 -*- # By:Eastmount import cv2 import numpy as np #读取图片 src = cv2.imread("test01.png", cv2.IMREAD_UNCHANGED) #设置卷积核 kernel = np.ones((5,5), np.uint8) #图像开运算 result = cv2.morphologyEx(src, cv2.MORPH_OPEN, kernel) #显示图像 cv2.imshow("src", src) cv2.imshow("result", result) #等待显示 cv2.waitKey(0) cv2.destroyAllWindows()
输出结果如图2所示,左边为原始图像,右边为处理后的图像,可以看到原始图形中的噪声点被去除了部分。
但处理后的图像中仍然有部分噪声,如果想更彻底地去除,可以将卷积设置为10×10的模板,代码如下所示:# -*- coding: utf-8 -*- # By:Eastmount import cv2 import numpy as np #读取图片 src = cv2.imread("test01.png", cv2.IMREAD_UNCHANGED) #设置卷积核 kernel = np.ones((10,10), np.uint8) #图像开运算 result = cv2.morphologyEx(src, cv2.MORPH_OPEN, kernel) #显示图像 cv2.imshow("src", src) cv2.imshow("result", result) #等待显示 cv2.waitKey(0) cv2.destroyAllWindows()
运行结果如图3所示:
二.图像闭运算
图像闭运算是图像依次经过膨胀、腐蚀处理的过程,先膨胀后腐蚀有助于过滤前景物体内部的小孔或物体上的小黑点。其原理如图4所示:
设A是原始图像,B是结构元素图像,则集合A被结构元素B做开运算,记为A·B,其定义为:
换句话说,A被B闭运算就是A被B膨胀后的结果再被B腐蚀。图像开运算在OpenCV中主要使用函数morphologyEx(),其函数原型如下:
dst = cv2.morphologyEx(src, cv2.MORPH_CLOSE, kernel)src表示原始图像cv2.MORPH_CLOSE表示图像进行闭运算处理kernel表示卷积核,可以用numpy.ones()函数构建
图像开运算的代码如下所示:# -*- coding: utf-8 -*- # By:Eastmount import cv2 import numpy as np #读取图片 src = cv2.imread("test02.png", cv2.IMREAD_UNCHANGED) #设置卷积核 kernel = np.ones((10,10), np.uint8) #图像闭运算 result = cv2.morphologyEx(src, cv2.MORPH_CLOSE, kernel) #显示图像 cv2.imshow("src", src) cv2.imshow("result", result) #等待显示 cv2.waitKey(0) cv2.destroyAllWindows()
输出结果如图5所示,它有效地去除了图像中间的小黑点(噪声)。
三.图像梯度运算
图像梯度运算是图像膨胀处理减去图像腐蚀处理后的结果,从而得到图像的轮廓,其原理如图6所示,(a)表示原始图像,(b)表示膨胀处理后的图像,(c)表示腐蚀处理后的图像,(d)表示图像梯度运算的效果图。
在Python中,图像梯度运算主要调用morphologyEx()实现,其中参数cv2.MORPH_GRADIENT表示梯度处理,函数原型如下:
dst = cv2.morphologyEx(src, cv2.MORPH_GRADIENT, kernel)src表示原始图像cv2.MORPH_GRADIENT表示图像进行梯度运算处理kernel表示卷积核,可以用numpy.ones()函数构建
图像梯度运算的实现代码如下所示。# -*- coding: utf-8 -*- import cv2 import numpy as np #读取图片 src = cv2.imread("test03.png", cv2.IMREAD_UNCHANGED) #设置卷积核 kernel = np.ones((10,10), np.uint8) #图像梯度运算 result = cv2.morphologyEx(src, cv2.MORPH_GRADIENT, kernel) #显示图像 cv2.imshow("src", src) cv2.imshow("result", result) #等待显示 cv2.waitKey(0) cv2.destroyAllWindows()
图像梯度运算处理的结果如图7所示,左边为原始图像,右边为处理后的效果图。
参考文献:[1]冈萨雷斯著,阮秋琦译. 数字图像处理(第3版)[M]. 北京:电子工业出版社,2013.[2]阮秋琦. 数字图像处理学(第3版)[M]. 北京:电子工业出版社,2008.[3]毛星云,冷雪飞. OpenCV3编程入门[M]. 北京:电子工业出版社,2015.[4]Eastmount. [Python图像处理] 八.图像腐蚀与图像膨胀[EB/OL]. (2018-10-31). https://blog.csdn.net/Eastmount/article/details/83581277.
点击下方,第一时间了解华为云新鲜技术~
华为云博客_大数据博客_AI博客_云计算博客_开发者中心-华为云
#华为云开发者联盟#
父母的PUA,伤害了多少孩子的童年?孩子是父母爱情的结晶,同时也是父母的希望,每个家长都希望孩子可以成功,有所成功。确实,每对父母都不希望自己的孩子在经历自己所承受过的苦难,都希望自己的孩子能成为人上人,孩子成长的过
命中率太低了!辽篮输掉辽粤大战,CBA联赛第二阶段收官1月18日,在CBA联赛第二阶段收官战中,命中率过低的辽宁男篮以99比108负于老对手广东男篮。本场比赛,辽宁男篮缺少了内线核心韩德君,不过广东男篮的外线主力控卫赵睿也因伤缺阵。但
情人之间,都要经历的几个阶段文wm会飞的鱼(原创)图网络何谓情人,两个有着深厚感情的人,通常指彼此深爱着的男女。在网上看到一个对话,很有感觉。我这样破碎的人,爱我的人要一片一片的捡来爱我,实在辛苦。回复是爱你
中国游客到来或推动泰国清迈地区2023年经济增长3。6近日,据泰媒报道称,自中国方面对疫情管控措施进行重大调整后,泰国清迈旅游业者正准备热情迎接中国游客的到来。据泰国酒店协会顾问拉娅女士及VisitLanna协会会长透露,对迎接中国游
沙漠上天,鲸鱼跃起,中国最怪异的无人区文章转载自中国国家地理BOOK静扫群山出,突兀撑青空。这里一天经历四季,却又一眼万年,听鬼怪传说代代相传,生命与死亡的共舞,每一天都在上演。但有人却说这里就像大盆子里放了几个小洗脸
天津市国资委天津农商银行与中国长城资产签署战略合作协议1月18日,天津市人民政府国有资产监督管理委员会天津农村商业银行股份有限公司分别与中国长城资产管理股份有限公司签署战略合作协议。人民银行天津分行天津银保监局市金融局负责同志出席并见
海口琼山区推出七大主题六条旅游线路邀您一起过大年新海南客户端南海网南国都市报1月18日消息(记者孙春丽通讯员许晶亮)正值春节假期来临之际,海口市琼山区推出以我在琼山过大年贯穿的七大主题六条自由行旅游线路,内容丰富玩法多样,快来解
湖湘自然历丨郴州风物浩瀚林海,深藏合与分的智慧2023年1月18日星期三小寒第14天天下大势,分久必合,合久必分。嘉禾国家森林公园深谙此种合与分的智慧。林海浩瀚,群山苍莽,嘉禾国家森林公园如绿色明珠镶嵌在南岭腹地,被誉为道宁桂
去新疆旅游,自驾还是选汽车托运?哪样更划算?政策放开后,很多朋友开始了今年第一游,不知道大家的第一站会选择哪里?看到很多车主朋友的第一站选的都是新疆或者西藏,但因为路途遥远,很多人都在考虑是自驾还是汽车托运,今天博远的小编给
最新发布合肥首次免费开放近日,合肥市肥西县文化和旅游局召开刘铭传故居刘铭传纪念馆推介座谈会,邀请安徽著名文史学者翁飞李云胜等共同参与座谈,就刘铭传与左宗棠郑成功的历史关联以及刘铭传景区影响力提升问题展开深
贾跃亭在中国重启造车!豪华SUV率先投产,还看蔚来理想?智电出行获悉,由贾跃亭创办的法拉第未来(FaradayFuture,以下简称FF)已于2022年第3季度与黄冈市人民政府签署了战略合作框架协议。双方将共同推进FF在黄冈进行产业布局
迎着风去奔跑吧整整三年了,我们紧张坚守我们遵守我们等待我们等待终于我们不用在焦虑了!放开身体的束缚去奔跑吧。去实现自己的梦想可以去骑单车,可以去跑马拉松,可以去旅游,可以回家过年,可以和朋友喝酒
浮生茶语惟愿此生,岁月静好最美的风景不在终点,而在路上,最美的人不在外表,而在内心,最好的岁月,不在于鲜衣怒马,而在于平淡日子里,是否有人愿意与你同行,将温暖和善意赠予你。心若安宁,岁月也会生出温和暖意。于
第一波冲击已经开始,那些最不愿看到的事,终究还是发生了三年来,疫情让我们经历了太多,多到每个人的经历都可以写成一本书。2019年底,当大家喜迎新年的时候,武汉封城的消息出来了,一时间大家的目光都聚焦在武汉那座城池。不知道还有没有人记得
搭乘地铁看上海从地铁5号线金海湖站出来,就是上海之鱼。作为奉贤新城的城市客厅,这里有3000多亩的水面和绿地,与北侧7000多亩的中央公园组成了新城的生态核心,艺术休闲与都市生态生活融为一体。湘
普京命令卡德罗夫除掉泽连斯基?克宫这完全是一派胡言来源参考消息网据塔斯社莫斯科12月16日报道,俄罗斯总统新闻秘书佩斯科夫断然否认了华尔街日报一篇文章中关于普京命令车臣领导人卡德罗夫除掉乌克兰总统泽连斯基的说法。佩斯科夫对塔斯社说
蒋介石孙子召开发布会,提出两蒋移灵大陆,2句话让世人唏嘘1996年,蒋介石的孙子蒋孝勇在台湾郑重召开一场发布会,言辞恳切地向台湾当政党提出将父亲和祖父的灵柩迁回奉安的请求。此时的蒋孝勇已经48岁,饱受癌症困扰的他在众人面前尤其瘦弱矮小。
一家比一家难,多么现实(值得一看)头条创作挑战赛冬日生活打卡季家家有本难念的经,人人都有难以言说的痛,有钱人有有钱的烦恼,穷人也有穷人的心酸。那到底什么样的生活才算幸福?幸福是一种感觉,感觉好了苦也是甜。很多夫妻过
Dell展示Luna概念笔记本电脑模块化组件均由插槽固定,便于维修和更换去年末,Dell(戴尔电脑)公布了一款专门为可持续生态设计的概念笔记本电脑Luna。比起其他笔记本电脑,Luna的目标是减少碳排放,采用了可回收的组件,更加容易维修和更换,生产过程
病毒来袭,最不想看到的事还是发生了随着疫情防控政策的改变,全国各大城市都已经逐步放开,以至于很多人都感到压力倍增,这个压力就是身边到处都是阳,看看自己早已陷入重围,要难以突破出去了。实际上,从河北保定开始,这种情况
人类的反重力研究一直建立在错误的理论基础上!重力是由引力产生的,大小等于物体质量乘以重力加速度g即Gmg,而反重力研究应该针对的是如何使这种重力消失,也就是说如何使引力消失,这才是真正的反重力,而不仅仅是克服重力,可是现实中
重磅美国所谓的人类首次可控核聚变重大突破受到专家质疑!昨天,美国能源部和国家核安全局(NIF)宣布,美国国家点火装置(NIF)在12月5日的一次实验中,成功实现了核聚变点火聚变产生的能量多于激光输入的能量。这台耗资35亿美元的装置将携