Bootstrap

直方图均衡与匹配

直方图均衡与匹配

一、直方图均衡

1.算法描述

直方图均衡目的是将一张灰度级数较集中、范围小的图片转化成一张灰度级数较分散、范围广的图片,增强图像对比度。当图像直方图完全均匀分布时,图像对比度是最大的。

直方图均衡的变换函数f(x)需要满足条件:

1.f(x)在0<=x<=L−1上单调递增,其中L表示灰度级

2.f(x)的范围是0至L-1

有一个重要的函数,能够满足上面的条件: y=f(x)=(L−1)∫px(t)dt

根据上述公式,这里我用到的主要算法思路如下:

1.先统计所用像素中0到255灰度级上的像素的数量

2.然后求出概率密度函数

3.再用概率密度函数求出累积分布函数

4.将累积分布函数值域转换到0至255的映射像素表

5.然后令原图像每个像素根据原先的像素值查表找到映射的像素值。

这样,我们就建立了一个直方图均衡的映射函数了。

2.Matlab代码

函数Equalization:

Equalization.m

function eql = Equalization(img)
    [height,width] = size(img);

    %Pixel counter
    Pixel_Num = zeros(1,256);
    for i = 1:height
        for j = 1: width
            Pixel_Num(img(i,j) + 1) = Pixel_Num(img(i,j) + 1) + 1;
        end
    end

    %Pixel PDF
    Pixe
;