标签:
一般情况下,二值图像的灰度值等级是21 =2(0\1),灰度图像的灰度值等级是28=256(0-255),
对于灰度图像来说,灰度值集中在较低的级别时,图像较暗,反之,则较亮,且灰度值分布较均匀时,图像的对比度也会比较明显。
1.图像直方图的计算方法
对于灰度图像,图像的灰度值等级为256,将从0到255的每一个灰度等级对应在图像中的像素点的个数统计出来,然后,通过计算统计个数与整幅图像对应像素点的总个数的比值得到每一个灰度值等级在图像中出现的概率密度值,将灰度等级作为自变量,在图像中出现的概率为变量得到一个离散函数,对应的二维离散图像即为图像的直方图。
p(i)=ni/N (i=0、1、 2........255)
2.直方图均衡方法
1)HE
map函数 T(n)=(2B -1)∑i=0 n h(i)+0.5 其中h(i)=p(i)
2)通过添加控制因子,调整对比度增强的级别。
h(i)=1/(1+λ)*p(i)+λ/(1+λ)*u
3)先对直方图进行平滑处理,去除直方图中前后差异过大的点(h(i)-h(i-1)超过一定限制),防止图像过增强后图像不适于人眼观看。
h(i)=((1+λ)I+γ*DT D)-1 (p(i)+λ*u) 其中D为双边对称矩阵,I为单位矩阵
4)将B&W 扩展方法的思想(这种方法使灰度值小的点更小,灰度值大的更大,从而使图像的对比度增强)加入,
当 b<i<w时,h(i)=1/(1+λ)p(i)+λ/(1+λ)u
当 i<=b 或者 i>=w时,h(i)=1/(1+λ+α)*(p(i)+λu)
5)将上述方法综合后,提出一种新的方法
h1 (i)=p(i/C) 求满足事件C的像素点对应的概率密度,
事件C对应的像素点是满足 |f(m,n)-f(m,n-2)|>Threshold 的点(m,n)
统计图像中所有满足条件的点的个数 N,以及这些满足条件的点对应的灰度等级的概率分布p(i/C),
对应的伪代码为
输入:源图像 f,
参数:增强级别 g, B&W 扩展参数 b,w ,φ
输出: 对比度增强后的图像 F
initial k
foreach row m do
foreach column n do
k=k+|f(m,n(-f(m,n-2)
if |f(m,n)-f(m,n-2)|>Threshoold
++num[f(m,n)]
++N
end
end
end
Nomalize g*k to get k*
u=min[N/256,umin]
foreach bin i do
if b<i<w then
h[i]=(1-k*)u+k* h1 [i]
else
h[i]=1/(1+φ)((1-k*)u+k* h1 [i])
end
end
foreach row m do
foreach column n do
F(m,n)=(2B-1)C(f(m,n))+0.5
end
end
其中C(f(m,n))=∑i=0 f(m,n ) h(i) ,k*=1/(1+λ)=nomalize(gk), k是图像像素间差值的累加,使得控制因子自适应于图像的对比度,
gk的归一化方法采用的是bit-shift operation
标签:
原文地址:http://www.cnblogs.com/linlin-myblog/p/4769019.html