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

来源:互联网 发布:夏易网络王宇阳视频 编辑:程序博客网 时间:2024/05/21 17:24

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

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

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

  void equalizeHist( InputArray src, OutputArray dst );
    我们可以看到,这个函数只有一个输入图像和一个输出图像,比较容易掌握。

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

    代码十分简单:

  cv::Mat Histogram1D::equalize(const cv::Mat &image)  {      cv::Mat result;      cv::equalizeHist(image, result);      return result;  }
    这就是equalize方法的代码,没什么太多想说的。

    阅读过我以前文章的话,把这个方法添加到类中去就可以了。我这里上传一张原始图片吧。

   

原创粉丝点击