直方图的均衡化原理及代码实现
创作时间:
作者:
@小白创作中心
直方图的均衡化原理及代码实现
引用
CSDN
1.
https://blog.csdn.net/AI_dataloads/article/details/133893140
直方图均衡化是一种用于增强图像对比度的图像处理技术。它的原理是通过重新分布图像的像素值,使图像的直方图变得更加均匀,从而增强图像中不同区域的亮度差异,使图像更具视觉吸引力和清晰度。
原理解释
- 计算原始图像的直方图:
- 首先,对输入的图像进行灰度化处理,将彩色图像转换为灰度图像。
- 然后,计算灰度图像的直方图,直方图是一个表示不同灰度级别在图像中出现频率的图表。
- 计算累积直方图:
- 累积直方图是将每个灰度级别的频率累积起来的直方图。
- 累积直方图的目的是为了确定每个灰度级别在均衡化后图像中所占的比例。
- 均衡化像素值:
- 对于每个像素,使用累积直方图来映射原始灰度级别到新的灰度级别。
- 这个映射过程将使直方图变得更加均匀,以便更多的像素值可以覆盖整个灰度范围。
- 创建均衡化后的图像:
- 使用映射后的灰度级别替代原始图像中的每个像素值。
- 这将生成一个均衡化后的图像,其中亮度差异更加明显,对比度增强。
- 优点和应用:
- 直方图均衡化可以用于图像增强、目标检测、图像分割和计算机视觉中的许多应用,特别是在具有低对比度的图像中。
- 它帮助凸显图像中的细节,改善可视化效果。
代码实现
import cv2
from matplotlib import pyplot as plt
import numpy as np
# 读取图像为灰度图像
face = cv2.imread('face1.jpg', cv2.IMREAD_GRAYSCALE)
# 计算并显示原始图像的直方图
phone_hist = cv2.calcHist([face], [0], None, [256], [0, 256])
plt.hist(face.ravel(), bins=256) # numpy中的ravel将数组多维度拉成一维数组
plt.show()
# 进行直方图均衡化
face_equalize = cv2.equalizeHist(face)
# 显示均衡化后的直方图
plt.hist(face_equalize.ravel(), bins=256) # numpy中的ravel将数组多维度拉成一维数组
plt.show()
# 横向拼接原始图像和均衡化后的图像
res = np.hstack((face, face_equalize))
cv2.imshow('face_equalize', res)
cv2.waitKey(100000)
# 使用CLAHE进行局部直方图均衡化
clahe = cv2.createCLAHE(clipLimit=1.0, tileGridSize=(16, 16)) # 通过类创建了一个局部均衡化对象
face_clahe = clahe.apply(face)
# 横向拼接原始图像、全局均衡化和局部均衡化后的图像
res = np.hstack((face, face_equalize, face_clahe))
cv2.imshow('face_equalize', res)
cv2.waitKey(100000)
运行结果
总结
直方图均衡化可以显著增强图像的对比度,使图像中的细节更加清晰。然而,需要注意的是,直方图均衡化可能会导致一些不希望的效果,如图像的噪声增强和失真。因此,在应用均衡化时,需要谨慎选择合适的参数和调整,以确保最佳的结果。
热门推荐
有哪些创新性学习方法(值得尝试的创新性学习方法)
送女生的生日礼物:七款最美好的祝福!
群星(Stellaris),探索未知宇宙的无尽旅程
脱发中药治疗方剂
2024年9大热门装修风格 装完不后悔系列
儿童发热时寒战与惊厥的区别及处理方法
缺水危机!给中亚的10条建议
年龄差距大,如何携手共创卓越家庭教育?
进行引体向上会伤到颈椎吗?专业医生这样回答
多元升学|2024年复旦大学高水平三位一体详细解读、录取数据
定投指数基金的原理及收益情况是什么?如何选择适合的定投指数基金?
走进短视频的传统文化:放下身段,参与狂欢
羽毛球跳杀技巧与教学:从入门到精通的全面指南
成都出发到若尔盖自驾游最佳路线,全程400公里风景尽收眼底
想自己做个roguelike卡牌游戏吗?你需要知道这些设计——杀戮尖塔卡牌...
接住《哪吒2》“泼天富贵” 国产电影IP“变现”高歌猛进
阴天抑郁症太严重怎么办
2025年养老金调整方案解读:退休年龄推迟、缴费年限延长,你准备好了吗?
科普头条 | 什么?吃的越冰越容易中暑?
八字命理中,何为“好命”
基于单细胞转录组测序技术的肺腺癌脑转移驱动机制及靶向治疗研究
世界银行:全球六大地区经济形势简析
新余旅游精华:探寻新余十大必去热门景点
首都医学科学创新中心:创新引人机制,打造一流科研团队
丹尼尔·卡尼曼《思考,快与慢》:重大决策,不要相信直觉
土灵都解锁了!哪些职业最适合土灵?各职业与土灵契合度分析来了
不懂得交流的人生活会是怎么样的
如何有效分析中文情感强度?
北京中签后如何选择车牌号?在北京中签后选号时有哪些注意事项?
深度学习教学中的可视化工具:提升理解与参与度的关键利器