OpenCV中实现图像去雾的方法是什么,具体如何实现
Admin 2022-07-05 群英技术资讯 630 次浏览
直方图均衡化的目的是将原始图像的灰度级均匀地映射到整个灰度级范围内,得到一个灰度级分布均衡的图像。这种均衡化,即实现了灰度值统计上的概率均衡,也实现了人类视觉系统上(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如何绘制概率分布直方图的相关资料,需要的朋友可以参考下
python怎么创建与遍历二叉树?对于二叉树内容,还是比较重要的,因此下面给大家分享使用递归的方式来实现python创建和遍历二叉树,需要的朋友可以参考学习。
这篇文章主要介绍了python csv实时一条一条插入且表头不重复问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
django中get和filter的区别在哪?get()和filter()方法都是比较常用的,但是很多新手对于get和filter的区别不是很清楚,对此,这篇文章就主要给大家简单的介绍一下get和filter的不同,感兴趣的朋友就继续往下看吧。
这篇文章主要介绍了python中的代码运行时间获取方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008