OpenCV中实现图像去雾的方法是什么,具体如何实现
Admin 2022-07-05 群英技术资讯 878 次浏览
直方图均衡化的目的是将原始图像的灰度级均匀地映射到整个灰度级范围内,得到一个灰度级分布均衡的图像。这种均衡化,即实现了灰度值统计上的概率均衡,也实现了人类视觉系统上(HSV)的视觉均衡。
一般来说,直方图均衡化可以达到增强图像显示效果的目的。最常用的比如去雾。下面,我们来分别实现灰度图像去雾以及彩色图像去雾。
在OpenCV中,它提供了函数cv2.equalizeHist()来实现直方图均衡化,该函数的完整定义如下:
def equalizeHist(src, dst=None):
src:原始图像,必须是8位单通道原始图像
dst:返回值,返回直方图均值化处理结果
下面,我们来通过该函数实现灰度图像直方图均衡化处理,代码如下:
import cv2 import matplotlib.pyplot as plt img = cv2.imread("45.jpg", 0) equ = cv2.equalizeHist(img) cv2.imshow("1",img) cv2.imshow("2",equ) plt.figure("原始图像直方图") plt.hist(img.ravel(), 256) plt.figure("均衡化图像直方图") plt.hist(equ.ravel(), 256) plt.show() cv2.waitKey() cv2.destroyAllWindows()
运行之后,效果如下:
左边为原图,右边是处理后的图像,可以看到图像前景的雾,基本已经去掉了。不过,我们还是看看处理前后的直方图结果分布。
虽然上面的灰度图像达到了去雾的基本效果,但是说实话,大多数实际的场景中,我们用到最多的往往是彩色图像。所以,掌握彩色图像的直方图均衡化处理,才是我们真正的实战技能。
下面我们来用代码实现彩色图像直方图均衡化处理,代码如下:
import cv2 import matplotlib.pyplot as plt img = cv2.imread("50.jpg") blue = img[:, :, 0] green = img[:, :, 1] red = img[:, :, 2] blue_equ = cv2.equalizeHist(blue) green_equ = cv2.equalizeHist(green) red_equ = cv2.equalizeHist(red) equ = cv2.merge([blue_equ, green_equ, red_equ]) cv2.imshow("1",img) cv2.imshow("2",equ) plt.figure("原始图像直方图") plt.hist(img.ravel(), 256) plt.figure("均衡化图像直方图") plt.hist(equ.ravel(), 256) plt.show() cv2.waitKey() cv2.destroyAllWindows()
这里,我们只需要使用equalizeHist()函数对彩色图像的每个颜色进行均衡化处理即可。当然,需要注意的是,我们处理完每个颜色之后,需要将图像再次合并。运行之后效果如下:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
python中的逻辑运算符有两种返回值,python运算符除了能操作bool类型表达式,还能操作其他所有类型的表达式,这篇文章主要给大家介绍了关于python中and和or逻辑运算符用法的相关资料,需要的朋友可以参考下
这篇文章主要给大家分享了python内存泄漏排查技巧总结,工作过程中服务难免遇到内存泄漏问题,下面文章就给大家总结一些排查下技巧,具有一定的参考价值,需要的朋友可以参考一下
range函数大多数时常出现在for循环中,在for循环中可做为索引使用,下面这篇文章主要给大家介绍了关于Python中range函数的基本用法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
这篇文章主要介绍了Python实现for循环倒序遍历列表,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
这篇文章主要介绍了Python数据提取-lxml模块,lxml模块和xpath语法的关系,lxml模块的使用场景、lxml模块的安装、谷歌浏览器xpath helper插件的安装和使用等相关内容介绍,需要的朋友可以参考一下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008