不均匀光照的二值化方法(去阴影、去曝光)

基于对比背景图像,调整对比度

以下是余下全文

测试图像是白底黑字
一、算法思想
1.计算整幅图像的背景图像
2.图像的标准化
3.对比原图像和背景图像,增强和对比度。
二、算法详细步骤
1.计算整幅图像的背景图像
(1)设计w*w的区域(w自定义大小)
(2)将(1)的区域去遍历整幅图像,由于是白底黑字的图片,将区域中最高的五个像素点的平均值作为背景值。

原图

背景图像
2.图像的标准化
简单来说就是将背景点设置为255,将有效点设置为某个区间的值。(目的是为了之后二值化的时候,更好的确定阈值)
3.对比原图像和背景图像,增强和对比度
基本思想就是局部区域中背景和原图的对比度小,将对比度增强。
关键是对公式的理解:

详解:
(1)参数说明:
Ib(x,y)代表背景图像在(x,y)点的像素值
Is(x,y)代表原图像在(x,y)点的像素点
Ie(x,y)代表经过去除背景之后的图像
Bj的值是255,代表将背景像素点转化为255
k是一个分段函数,代表不同区域的背景和原图的对比度的缩放(也就是对比度增强的倍数)

(2)公式解释
1.

否则,Ie(x,y)=Bj;

也就是原图的像素点大于背景图像的像素点,由于图像是白底黑字,此像素点一定是背景像素点,直接设置为255.

2.

Ie(x,y)=Bj-k(Ib(x,y)-Is(x,y));

如果Ib(x,y)>Is(x,y),此原图的像素点是有效像素点,根据像素点大小判断对比的缩放比例。例如在阴影很大(或者曝光很大)的地方,对比度(k)要增大。

3.

若(Ie(x,y)<0.75Bj)
set Ie(x,y)=0.75Bj;

将原图中的有效像素点设置为[0.75Bj,Bj)中的值,为了之后二值化的时候更好的设置阈值.

三、算法具体实现
大牛的博客


最后效果图
四、参考文献
不均匀光照文本图像的二值化 —贺志明

五、代码下载

你可能感兴趣的:(图像处理)