APP下载

几种常见图像二值化方法的结果对比与分析

2018-01-02曾洁

科学与财富 2018年33期

曾洁

摘 要:在图像处理中,图像二值化可以说是非常关键的一步。图像二值化能够帮助我们滤除掉原始图像中由于光照不均等因素造成的影响,此外,还能够是图像的数据量变小,有利于我们的后续操作。目前,图像二值化的方法目前有很多种,本次设计将分别通过几种主要的二值化方法:全局均值阈值、伯恩森算法(Bernsen)、大津算法(OUTS),对图像进行二值化,并针对其结果进行对比分析。

关键词:图像预处理;二值化;全局均值阈值;伯恩森算法(Bernsen);大津算法(OUTS)

一、研究背景

我们已经知道,图像在计算机中以矩阵的形式存储,而矩阵中每个点的值则对应该点的像素值,一般绝大多数图像的像素值在0到255之间,其颜色随着像素值的变化逐渐由黑到白。那么图像二值化的原理是:通过对图像选取阈值,使图像中高于这个阈值的像素全为白色(像素值设为255),而低于这个阈值的像素全为黑色(像素值设为0)。图像二值化能够减少我们对图像处理的数据,加快图像处理的速度。那么如何设定阈值呢?针对这一问题,各国的研究学者们提出了很多的图像二值化的算法。而本次设计,则是通过对几个常见的二值化算法进行结果对比和分析,从中得出一些结论。

二、原图像及处理图像

(一)全局均值阈值法

顾名思义,全局均值阈值法是对图像像素做全局处理,求出所有像素的均值,将这个均值作为阈值。然后对图像所有像素一分为二,高于阈值的像素值为255,即为白色;低于阈值的像素值为0,即为黑色。

全局均值阈值法的实现过程很简单,通过寻访图像矩阵中所有的像素值,并且对其求和再平均,即可得出所有像素值的均值,其处理结果见图2。

(二)伯恩森算法(Bernsen)

在我们获取所需要处理的图像时,经常会遇到很多的问题,而其中光照的不均就是一个典型的問题。针对这一问题也应运而生了Bernsen算法,该算法主要的目的就是为了解决图像处理中由于光照分布不均匀而导致的问题。

其原理主要是在图像中设定一个像素点,并且计算出在该点(2k+1)*(2k+1)的区域内的所有像素点的最大值max和最小值min(这里k根据需要取整数),计算两者的均值t作为图像分割的阈值。

可能有人会有疑问,如果读取的图像矩阵不能恰好的分成若干个(2k+1)*(2k+1)的区域呢?所以,在我们使用这种算法时,我们通常需要对图像矩阵进行扩展,再次基础上再进行。对于扩展出来的矩阵行和列,我们有多种方法对其赋值,例如:全设为某一常数,或者取临近行和列的值等方法。此外,在Bernsen算法中,还需要我们认为设定两个值,一个是图像灰度级的差值S,一个是图像前景和后景的差值T。当max和min的差大于S时,说明图像灰度级差异良好,可以采用求取的阈值进行二值化,小于S时,说明灰度级差异过小,则判断阈值t和T的大小,当t大于T时,说明其是目标区域,像素值设为255,小于T时,像素值设为0。当然,这里的S和T,应根据自身处理图像的不同选取不同的值。

(三)大津算法(OUTS)

OUTS是一种最大类间方差法。对于任意的一副图像f(x,y),我们将T1作为图像前景和背景的分割值。图像中所有想书点里属于前景的像素点的比例记为ω0,其平均灰度μ0,背景像素点数占整幅图像的比例为ω1,其平均灰度为μ1。图像的总平均灰度记为μ,类间方差记为g。那么我们容易得到以下公式:

g=ω0(μ0-μ)^2+ω1(μ1-μ)^2 公式1

那么我们的任务即转换到了去求取出一个T1的值,使得g值最大。图4是通过OUTS算法对图像二值化的结果。

三、总结

通过以上结果的对比,我们不难发现,在对图像进行二值化的处理时。采用不同的方法进行二值化,其结果会有较大的差异。Bernsens二值化和OUTS二值化,从算法上来分析都比全局均值阈值二值化效果更好,但是对于本次设计的简单图像,从直观视觉上看来,似乎全局均值阈值二值化的效果更好。

参考文献:

[1]陈丹,张蜂,贺贵明.一种改进的文本图像二值化算法[J].计算机辅助设计与图像学学报,2004,16(5):697-700.

[2]黄志斌,面向车辆牌照的L快速二值化算法[J].华侨大学学报(自然科学版),2002,23(4):427-430.