直方图均衡化
今天是第一次写博客~
最近在学习数字图像处理和opencv,学习到直方图均衡化,想去人家博客上找找数学原理和实现代码。虽然有关直方图均衡化的原理博客还是蛮多的,但是实现代码的话我本人只找到了matlab版,所以我撸了个C++版的代码(刚刚学编程,写的很丑,运行时间也比调库长一些,不过最后还是实现了~~),希望能对刚刚入门opencv的朋友有点帮助。
直方图均衡化处理的“中心思想”是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布。直方图均衡化就是对图像进行非线性拉伸,重新分配图像像素值,使一定灰度范围内的像素数量大致相同。直方图均衡化就是把给定图像的直方图分布改变成“均匀”分布直方图分布。
下图为直方图均衡化的过程,体现了“均衡”的含义:(概率密度的均匀)