得鹿梦鱼 得鹿梦鱼

灰度图像二值化算法研究

Otsu算法最大类间方差分

基本思想是用某一个假定的灰度值将图像的灰度分位两类,当两类的类间方差最大时,此灰度值就是最佳阈值。设图像有M个灰度值,取值范围为01,在此范围内去灰度值为t,将图像分为两组$G_0$和$G_1$,$G_0$中包含的像素的灰度值在0t;G1G_1在t+1~M-1,用N表示图像像素的总和,nin_i表示灰度值为i的像素个数,则每一个灰度出现的概率为Pi=ni/NP_i = n_i / N
G0G_0G1G_1类出现的概率以及均值为
概率ω0=i=0tPi\omega_0 = \sum_{i=0}^t P_i, ω1=1ω0\omega_1 = 1 - \omega_0
均值μ0=i=0tiPi\mu_0 = \sum^t_{i=0} i P_i, μ1=i=t+1M1iPi\mu_1 = \sum^{M-1}_{i=t+1} i P_i
类间方差为sigmat2=ω0ω1mu0mu12sigmat^2 = \omega_0 \omega_1mu_0 - mu_1^2

灰度拉伸法

当目标和背景对不明显即灰度相差不大时或者图像存在噪声时,Otsu算法的效果都不十分理想,为此,有人提出了灰度拉伸的增强的otsu算法,灰度拉伸即用所有灰度乘以一个大于1的系数,增加像素间的差别,

与otsu类似的方法

在ostu的算法基础上,引入类内方差σ12t=ω0μ02ω1μ12\sigma_1^2t = \omega_0 \mu_0^2 \omega_1 \mu_1^2求类间方差和类内方差的比值

Bernsen算法

是一种典型的局部二值化算法,是一种动态选择阈值的自适应方法,设图像在像素点x,yx,y处的灰度值为fx,yfx,y考虑以像素点x,yx,y为中心的2w+1×2w+12w+1 \times 2w+1为窗口,则bernsen算法可以描述为

  1. 计算图形中各点x,yx,y的阈值wx,ywx,y

wx,y=0.5×maxfx+m,y+n+minfx+m,y+nwx,y = 0.5 \times maxfx +m , y +n + minfx +m ,y +n
wmw,wnw-w \leq m \leq w, -w \leq n \leq w
2. 对图像中各像素点用wx,ywx,y值逐点进行二值化
w=1w=1时即利用当前像素点周围八点领域来计算当前像素点的brensen阈值

直方图方法

根据图像的直方图统计,找出 双峰间的谷值即最佳阈值