OpenCV2编程手册笔记之 4.4直方图均衡化

1.简介

    在我上一篇文章中,着重介绍了通过提高对比度的方法提升图像质量。但是,在多数情况下,图像的缺陷主要体现在某些颜色值的出现频率过高。

    因此,我们采取直方图均衡化的方法对过高的颜色值进行平均化操作,即使得图像的直方图更加平坦。以达到图像增强的目的。

2.实现方法

    在opencv中,有一个很简单的函数equalizeHist,它可以自动的为我们进行直方图均衡化的操作,如果我们想进行自己操作的话,可以选择自己定义查找表。

void equalizeHist( InputArray src, OutputArray dst );

    使用这个OpenCV自带函数,我们就可以自动对图像进行平衡化操作,使得图像的显示效果更好。

    我们可以看到,这个函数只有一个输入图像和一个输出图像,比较容易掌握。

    实现方面,我们在Histogram1D类中添加一个equalize方法,方便进行操作。

cv::Mat Histogram1D::equalize(const cv::Mat &image)
{
	cv::Mat result;
	cv::equalizeHist(image, result);
	return result;
}
OpenCV2编程手册笔记之 4.4直方图均衡化_第1张图片

你可能感兴趣的:(OpenCV2,计算机视觉编程手册,学习笔记)