OpenCV3.3—图像增强(方法:直方图均衡化 equalizeHist )

1. 直方图均衡化

直方图均衡化是通过调整图像的灰阶分布,使得在0~255灰阶上的分布更加均衡,提高了图像的对比度,达到改善图像主观视觉效果的目的。对比度较低的图像适合使用直方图均衡化方法来增强图像细节。

均衡化处理后的图像只能是近似均匀分布,均衡化图像的动态范围扩大了。但是本是扩大了量化间隔,量化级别减少。原来灰度不同的像素经过处理后可能变的相同,形成了一片相同的灰度区域;

OpenCV函数:

void equalizaeHist(InputArray src,OutputArray dst)

步骤: 

  1.  计算输入图像直方图HH 
  2. 进行直方图归一化,直方图的组距的和为255 
  3. 计算直方图积分H′(i)=∑0≤j≤iH(j)H′(i)=∑0≤j≤iH(j) 
  4. 以H′H′作为查询表进行图像变换dst(x,y)=H′(src(x,y))

2. 示例

#include <opencv2/opencv.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main()
{
    Mat srcImage, dstImage;

    //输入原始图像
    srcImage = imread("..\\1.bmp");
    
    cvtColor(srcImage, srcImage, COLOR_BGR2GRAY);

    //进行直方图均衡化
    equalizeHist(srcImage, dstImage);

    return 0;
}

猜你喜欢

转载自blog.csdn.net/zfjBIT/article/details/85115066