将一副灰度图像转换为只包含为黑白两色的二值图像称之为图像的阈值处理;这种处理有多种方式,最简单的就是设定一个静态的阈值,色素值大于该阈值的为白,否则该值的为黑色。但是在很多时候,这种简单的方法并不能得到很好的效果。在这篇文章里面我们介绍一种很简单的局部自适应性图像阈值化处理方法,该方法根据图像局部特点动态的调整其阈值,能够得到比较理想的阈值化处理效果。
该方法的思想是首先将图像分为一定大小的区块,这个可以根据情况选用,比如你可以选择3*3的矩阵,或者5*5的矩阵。选定好这些小块之后,我们计算这个小块中包围了中心像素点的其他像素点(或者用户也可以加其他的限定条件选择像素点)的灰度值的某种统计信息,比如灰度均值,或者灰度中间值,或者最大灰度与最小灰度之间的均值作为中间像素点的阈值。如果中间像素点的灰度大于该阈值,则中间像素被转换为白色点;反之,则转换为黑色点。
以ROUND(x)代表像素点x周围的所有像素点,以函数Statistic(ROUND(x))表示对上述的这些像素点的灰度值做统计运算,那么我们的算法思想可以描述为:
1(x>Statistic(ROUND(x)))
x={
0(x<=Statistic(ROUND(x)))
在实际情况中,选用3*3的包围矩阵和取均值的统计算法可以得到比较理想的处理效果(处理效果的图片对比如下:
原图:
处理后图片:
)。