• 首页
  • 行业
  • 财经
  • 综合
  • 热点
  • 科技
  • 商业
  • 要闻
  • 观点
  • 经济
  • 社会
  • 法治
  • 文旅
  • 体育
  • 健康
  • 生活
  • 国际
  • 国内
  • 教育
logo
  • 科技 >
  • 正文

环球微动态丨Python从零到壹丨图像增强的顶帽运算和底帽运算

2023-05-18 15:04:09 来源:博客园
摘要:这篇文章详细介绍了顶帽运算和底帽运算,它们将为后续的图像分割和图像识别提供有效支撑。

本文分享自华为云社区《[Python从零到壹] 四十九.图像增强及运算篇之顶帽运算和底帽运算》,作者:eastmount。


【资料图】

数学形态学(Mathematical Morphology)是一种应用于图像处理和模式识别领域的新方法。数学形态学(也称图像代数)表示以形态为基础对图像进行分析的数学工具,其基本思想是用具有一定形态的结构元素去量度和提取图像中对应形状以达到对图像分析和识别的目的。

一.图像顶帽运算

图像顶帽运算(top-hat transformation)又称为图像礼帽运算,它是用原始图像减去图像开运算后的结果,常用于解决由于光照不均匀图像分割出错的问题。其公式定义如下:

图像顶帽运算是用一个结构元通过开运算从一幅图像中删除物体,顶帽运算用于暗背景上的亮物体,它的一个重要用途是校正不均匀光照的影响。其效果图如图1所示。

在Python中,图像顶帽运算主要调用morphologyEx()实现,其中参数cv2.MORPH_TOPHAT表示顶帽处理,函数原型如下:

dst = cv2.morphologyEx(src, cv2.MORPH_TOPHAT, kernel)

  • src表示原始图像
  • cv2.MORPH_TOPHAT表示图像顶帽运算
  • kernel表示卷积核,可以用numpy.ones()函数构建

假设存在一张光照不均匀的米粒图像,如图2所示,我们需要调用图像顶帽运算解决光照不均匀的问题。

图像顶帽运算的Python代码如下所示:

# -*- coding: utf-8 -*-# By:Eastmountimport 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_TOPHAT, kernel)#显示图像cv2.imshow("src", src)cv2.imshow("result", result)#等待显示cv2.waitKey(0)cv2.destroyAllWindows()

其运行结果如图3所示。

下图展示了“米粒”顶帽运算的效果图,可以看到顶帽运算后的图像删除了大部分非均匀背景,并将米粒与背景分离开来。

为什么图像顶帽运算会消除光照不均匀的效果呢?

通常可以利用灰度三维图来进行解释该算法。灰度三维图主要调用Axes3D包实现,对原图绘制灰度三维图的代码如下:

# -*- coding: utf-8 -*-# By:Eastmountimport numpy as npimport cv2 as cvimport matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3Dfrom matplotlib import cmfrom matplotlib.ticker import LinearLocator, FormatStrFormatter#读取图像img = cv.imread("test02.png")img = cv.cvtColor(img,cv.COLOR_BGR2GRAY)imgd = np.array(img) #image类转numpy#准备数据sp = img.shapeh = int(sp[0]) #图像高度(rows)w = int(sp[1]) #图像宽度(colums) of image#绘图初始处理fig = plt.figure(figsize=(16,12))ax = fig.gca(projection="3d")x = np.arange(0, w, 1)y = np.arange(0, h, 1)x, y = np.meshgrid(x,y)z = imgdsurf = ax.plot_surface(x, y, z, cmap=cm.coolwarm) #自定义z轴ax.set_zlim(-10, 255)ax.zaxis.set_major_locator(LinearLocator(10)) #设置z轴网格线的疏密#将z的value字符串转为float并保留2位小数ax.zaxis.set_major_formatter(FormatStrFormatter("%.02f")) # 设置坐标轴的label和标题ax.set_xlabel("x", size=15)ax.set_ylabel("y", size=15)ax.set_zlabel("z", size=15)ax.set_title("surface plot", weight="bold", size=20)#添加右侧的色卡条fig.colorbar(surf, shrink=0.6, aspect=8) plt.show()

运行结果如图5所示,其中x表示原图像中的宽度坐标,y表示原图像中的高度坐标,z表示像素点(x, y)的灰度值。

从图像中的像素走势显示了该图受各部分光照不均匀的影响,从而造成背景灰度不均现象,其中凹陷对应图像中灰度值比较小的区域。

通过图像白帽运算后的图像灰度三维图如图6所示,对应的灰度更集中于10至100区间,由此证明了不均匀的背景被大致消除了,有利于后续的阈值分割或图像分割。

绘制三维图增加的顶帽运算核心代码如下:

二.图像底帽运算

图像底帽运算(bottom-hat transformation)又称为图像黑帽运算,它是用图像闭运算操作减去原始图像后的结果,从而获取图像内部的小孔或前景色中黑点,也常用于解决由于光照不均匀图像分割出错的问题。其公式定义如下:

图像底帽运算是用一个结构元通过闭运算从一幅图像中删除物体,常用于校正不均匀光照的影响。其效果图如图8所示。

在Python中,图像底帽运算主要调用morphologyEx()实现,其中参数cv2.MORPH_BLACKHAT表示底帽或黑帽处理,函数原型如下:

dst = cv2.morphologyEx(src, cv2.MORPH_BLACKHAT, kernel)

  • src表示原始图像
  • cv2.MORPH_BLACKHAT表示图像底帽或黑帽运算
  • kernel表示卷积核,可以用numpy.ones()函数构建

Python实现图像底帽运算的代码如下所示:

# -*- coding: utf-8 -*-# By:Eastmountimport 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_BLACKHAT, kernel)#显示图像cv2.imshow("src", src)cv2.imshow("result", result)#等待显示cv2.waitKey(0)cv2.destroyAllWindows()

其运行结果如图9所示:

三.总结

该系列主要讲解了图像数学形态学知识,结合原理和代码详细介绍了图像腐蚀、图像膨胀、图像开运算和闭运算、图像顶帽运算和图像底帽运算等操作。这篇文章详细介绍了顶帽运算和底帽运算,它们将为后续的图像分割和图像识别提供有效支撑。

参考文献:

  • [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.

点击关注,第一时间了解华为云新鲜技术~

责任编辑:{ij7}

    为您推荐

  • 环球微动态丨Python从零到壹丨图像增强的顶帽运算和底帽运算

    摘要:这篇文章详细介绍了顶帽运算和底帽运算,它们将为后续的图像分割和图像识别提供有效支撑。本文分享自
  • 知识拷问:工作站和服务器哪个更适合做CST电磁仿真?

    服务器是指在网络环境下运行相应的应用软件,为网上用户提供共享信息资源和各种服务的一种高性能计算机,它
  • 今日播报!许昌召开全市普惠养老再贷款工作座谈培训会

    图片来源:Unsplash芥末堆文近日,许昌市民政局召开全市普惠养老再贷款工作座谈培训会,旨在分析研判当前养
  • 这样的暑假规划,让你的美本申请变得与众不同!

    暑假马上就要来了,孩子们高兴了,家长却担忧了,这是为什么呢?因为关于假期有一个非常有意思的现象叫做 "
  • 中国星辰|“+北斗”应用规模化发展 全面赋能国家基础设施 今日要闻

    点击图片观看视频5月18日,中国卫星导航定位协会发布《2023中国卫星导航与位置服务产业发展白皮书》。白皮
  • 北斗路上那些事——贵阳卫星观测站落区工作团队大力发扬新时代北斗精神侧记

    天枢贪狼、天璇巨门、天玑禄存、天权文曲、玉衡廉贞、开阳武曲、摇光破军,这是古人对北斗的解读。如今北斗
  • 匈牙利布达佩斯城市大学校长巴赫曼·巴林特一行来西安翻译学院访问交流-环球关注

    5月15日下午,匈牙利布达佩斯城市大学校长巴赫曼·巴林特一行来西安翻译学院访问交流,西安翻译学院执行董
  • 西安海棠职业学院召开月度安全管理工作专题会议

    2023年5月16日上午,西安海棠职业学院在行政楼一楼会议室召开月度安全管理工作专题会议。院长冯居秦出席会
  • 全球速读:时政Vlog丨机场接机直播前我们都在准备些啥?

    点击图片观看视频5月18日至19日,中国-中亚峰会将在陕西省西安市举行。5月17日,哈萨克斯坦总统托卡耶夫,
  • 2023年体育单招及高校高水平运动队招生报名人数达到了57597人-即时焦点

    5月15日,国家体育总局公示了2023年普通高等院校运动训练、武术与民族传统体育专业(下称“体育单招”)及
  • 世界看热讯:陕西:2023年上半年全国大学英语四六级口语考试考前提示

    2023年上半年全国大学英语四六级口语考试将于本周末(5月20日—21日)举行。为保障考生顺利考试,省教育考
  • 昆曲是如何形成的?昆曲的历史地位是什么?

    昆曲是如何形成的?600多年前,有一种糅合了舞蹈、武术、以鼓、板、曲笛、三弦等伴奏乐器为辅的优美戏曲诞生了,它婉转细腻,仿佛用软糯的香
  • 全球热点!微软CEO:没有操控OpenAI,AI是给人脑配了“蒸汽机”

    纳德拉在采访中说,人工智能的发展速度很快,但在这一过程中,人类依然是不可或缺的。尽管有很多人对先进人
  • 百戏之祖是哪个戏种?昆曲为何被称为“百戏之祖”?

    百戏之祖是哪个戏种?百戏之祖指的是昆曲,是汉族传统戏曲中最古老的剧种之一。昆曲原名昆山腔或简称昆腔,是中国古老的戏曲声腔、剧种,现又被
  • 中国有色金属工业协会硅业分会:本周硅片价格延续跌势 多数企业计划减产

    中国有色金属工业协会硅业分会5月18日发布单晶硅片周评。本周硅片价格延续跌势。N型单晶硅片(182mm 130μm
  • 太仓加码基金招商 各类基金今年已投当地项目27个 天天快看点

    在“基金招商”成为各地产业转型发展的“风口”之际,太仓这一苏州下辖的县级市,同样在加码基金招商、资本
  • 世界讯息:【新华500】新华500指数(989001)18日下跌0.14%

    新华500指数(989001)18日收盘跌0 14%,报4354 71点。走势上看,新华500指数(989001)18日早间小幅高开,
  • 国开行副董事长、行长谭炯任职资格获核准

    国开行副董事长、行长谭炯任职资格获核准
  • 塔塔尔族的房屋是用什么材质建成的?塔塔尔族有什么特色美食?

    塔塔尔族的房屋是用什么材质建成的?塔塔尔族的房屋多用土坯、石块、砖块、木材建造而成,屋顶为人字形,上盖铁皮,刷成绿色或蓝色。塔塔尔
  • 23恒安国际SCP004今日发布发行公告

    23恒安国际SCP004发布发行公告
  • 安永:提升息差关键是要优化资产负债结构-环球最资讯

    步入5月,存款利率的调整范围覆盖到了通知存款和协定存款产品。对于近期多家银行下调普通存款或者通知存款
  • 23盐城交投CP002今日发布发行公告

    23盐城交投CP002发布发行公告
  • 【时快讯】23鲁宏桥CP003今日发布发行公告

    23鲁宏桥CP003发布发行公告
  • 世界看热讯:23龙盛SCP005(科创票据)今日发布发行公告

    23龙盛SCP005(科创票据)发布发行公告
  • 环球最资讯丨科大讯飞刘庆峰:讯飞星火大模型10月实现中文超越ChatGPT

    证券时报e公司讯,5月18日,在2023天津世界智能大会上,科大讯飞(002230)董事长刘庆峰表示,旗下讯飞星火大
  • 塔塔尔族人长相有什么特征?塔塔尔族人的婚礼是在男方还是女方家里举行?

    塔塔尔族人长相有什么特征?塔塔尔族的人长相比较特殊,因为是欧洲人的后裔,所以五官很立体,皮肤白皙,在我国的少数民族中是最有异域风情的一
  • 拜登再次与国会两党领导人讨论债务上限

    如不能正常浏览请选用IE浏览器  天津北方网讯:拜登再次与国会两党领导人讨论债务上限……
  • 当前简讯:俄乌就“爱国者”系统是否被摧毁各执一词

    如不能正常浏览请选用IE浏览器  天津北方网讯:俄乌就“爱国者”系统是否被摧毁各执一词……
  • 新动态:河南商丘:沉浸式数字体验 让文物精彩“绽放”

    如不能正常浏览请选用IE浏览器  天津北方网讯:河南商丘:沉浸式数字体验让文物精彩“绽放”……
  • 焦点精选!海军:解缆起航 湛江舰赴马来西亚参展

    如不能正常浏览请选用IE浏览器  天津北方网讯:海军:解缆起航湛江舰赴马来西亚参展……

相关推荐

  • 环球微动态丨Python从零到壹丨图像
  • 知识拷问:工作站和服务器哪个更适
  • 今日播报!许昌召开全市普惠养老再贷
  • 这样的暑假规划,让你的美本申请变
  • 中国星辰|“+北斗”应用规模化发展
  • 北斗路上那些事——贵阳卫星观测站
  • 匈牙利布达佩斯城市大学校长巴赫曼
  • 西安海棠职业学院召开月度安全管理
  • 全球速读:时政Vlog丨机场接机直播
  • 2023年体育单招及高校高水平运动队

阅读排行

  • 全球资讯:正在直播:【2023第七届世界智能大会】城市能源革命高峰论坛
  • 塔塔尔族是白种人吗?塔塔尔族是混血吗?
  • 哪些省份居民婚姻登记可以跨省通办?跨省通办婚姻登记需要哪些证件?
  • 广州资产举办2023大湾区特殊机遇投资产业合作交流会 助力产业升级
  • 国家药监局4月共批准注册180个医疗器械产品
  • 安阳市“珠三角联络处招才引智工作站”正式挂牌运行 天天热门
  • 塔塔尔族的音乐有什么风格?塔塔尔族乐器有哪些?
  • 职级职务对应是什么意思_职级职务职位对照表有哪些
  • 2023黑龙江齐齐哈尔市高三三模语文试题|快讯
  • 单位变动成本计算公式的收入是主营业务收入吗_单位变动成本计算公式-天天观点

291 32 36@qq.com

Copyright © 1998-2015 by 中国北京网版权 所有 京ICP备12018864号-3

营业执照公示信息