直方图均衡化原理和实现
创作时间:
作者:
@小白创作中心
直方图均衡化原理和实现
引用
CSDN
1.
https://blog.csdn.net/xiaofeixia002X/article/details/136700700
直方图均衡化是一种常用的图像增强技术,主要用于改善图像的对比度。其基本思想是将原始图像的直方图分布转换为一个均匀分布的直方图,这样原图中的高频率亮度值会被展宽,而低频率亮度值则被压缩,从而达到增强图像对比度的效果。
计算过程
假设我们有一个灰度图像,其像素值范围从0到L-1(对于8位图像,L=256)。直方图均衡化的计算步骤如下:
- 计算原始直方图:对于灰度级i,计算图像中灰度级为i的像素数目,记为h(i)。
- 计算累积分布函数(CDF):累积分布函数是直方图的一个累积和,对于灰度级i,CDF计算如下:
- 归一化CDF:将CDF的值归一化到0到L-1的范围内。这可以通过以下公式完成:
- 应用均衡化映射:最后,对每个像素,使用归一化的CDF值来替换原始图像中的灰度值,这样就得到了均衡化后的图像。
例子
假设图像的像素值如下:
1, 3, 0, 2, 1, 3, 3, 2
- 首先,计算这个图像的直方图:
灰度级: 0 1 2 3
数量: 1 2 2 3
- 计算累积分布函数(CDF):CDF对于每个灰度级i,累积从0到i的像素数量。因此,对于我们的例子:
灰度级: 0 1 2 3
CDF: 1 3 5 8
- 归一化CDF:将CDF归一化到0到255的范围(对于8位图像)。归一化的公式是:
对于我们的例子,M ×N = 8(图像的像素总数),CDF_{min} = 1(CDF中的最小值),L = 4(灰度级总数)。因此,归一化CDF为:
灰度级: 0 1 2 3
归一化CDF: 0 85 170 255
- 应用均衡化映射:最后,根据归一化的CDF来更新图像的像素值。每个原始像素值i都被映射为归一化CDF中的相应值。因此,原图像像素值转换后为:
原始图像: 1 3 0 2 1 3 3 2
均衡化后: 85 255 0 170 85 255 255 170
由于简化了范围,实际应用中,这些新的像素值将会根据实际情况进行调整,以匹配原图像的灰度级范围。在现实操作中,直方图均衡化后的图像将展现更好的对比度和亮度分布。
实现1-只针对灰度图像
// 直方图均衡化
void QuickDemo::histogram_eq_demo(Mat &image) {
Mat gray, dst;
cvtColor(image, gray, COLOR_BGR2GRAY);
equalizeHist(gray, dst);
imshow("Raw gray", gray);
imshow("EqualizeHist", dst);
}
热门推荐
农村路边不起眼的紫色野草,经常生病的人食用能增强免疫力
“真香”还是“鸡肋”?智能电动晾衣架评价为何两极分化?
微信视频号视频如何下载?五种不常见但实用的方法
IGBA发布123页报告,揭示原研药企200+案例常青策略
苏州大学材料类专业深度解析:学科实力与人才培养全览
知识库英文缩写:你知道这些常见的缩写吗?
知识库英文缩写:你知道这些常见的缩写吗?
暖气热了百姓的心暖了——嘉峪关市构建现代化供热体系纪实
实验室湿度发生器在药品稳定性试验中的关键作用
联合国:保障黑海航行自由至关重要,俄乌战争持续加剧人道危机
技术赋能深基坑风险预警,筑牢城市安全防线
AR技术在供应链管理中的应用:实时信息可视化
春天去哪儿看花?快收藏这份「海淀春日追花指南」
春日赏花攻略:从华南到西南,各地花开正当时
近几年来必玩的10款横板动作游戏盘点
美元兑人民币汇率的变化,对A股直接影响是什么
这种药食同源常见药被誉为“金不换”,尤其适合这几类人群!
镁合金一体车架好吗(铝合金车架好还是镁合金车架好)
世界文化多样性促进对话和发展日:文化多样性的重要意义
何怀宏:文明与文化的五大区别
干眼症的全方位治疗指南
迟发性运动障碍和帕金森综合症的区别是什么
BBC评出的100本最具影响力经典书籍,你都读过哪些?
债务上限制约供给,美债收益率第二季度有望再下探——美国国债月报2025年第四期
显卡驱动在Win11哪里看?如何查找最新驱动版本?
白内障做完一只眼另一只需要多久做?2周以上,4周以内,根据恢复情况手术
如何通过人才规划提升企业长期竞争力和发展潜力?
2025年中国航空发动机行业现状与发展趋势分析,国内市场保持高景气
10条国内五一小长假最美自驾游路线推荐,不知五一自驾游去哪玩的朋友马上收藏
山西晋城过油肉的制作方法(传统美食重现,口感鲜美,制作简单易学)