图像二值化的操作,就是寻找一个合适的阈值T,把图像中所有像素值小于等于该阈值的像素点设置为一个像素值,同时把图像中所有像素值大于该阈值的像素点设置为另一个像素值。也就是说,二值化之后整幅图像中只有两种灰度值。对于一帧8位的图像,二值化操作通常是把其像素值设置为0或255,从直观上看就是把具有灰度变化的图像设置为只有黑与白的黑白图像,0值对应黑色,255值对应白色。由此可知,二值化效果的好坏取决于阈值T的选取是否合适,阈值T就相当于黑白色的分界线。
图像二值化的操作在数字图像处理中具有重要作用,该操作把图像变成黑白之后,可以凸显图像的重要轮廓与结构,大大减少运算量。比如在细胞的荧光成像中,常常需要把细胞区域(也即较亮区域)识别出来,很重要的一步就是把荧光成像的图像转换为二值图像,细胞区域为白色,背景区域为黑色,这样才便于检测细胞轮廓,从而识别细胞。
最常用的求阈值算法有大津法和迭代法。本文针对荧光图像的二值化操作,详细讲解这两种算法的原理,同时对迭代法进行改进,使其可以求出更加合适的阈值。
1. 大津法,简称为OTSU算法,属于自适应的阈值确定方法,其核心思路是寻找一个阈值T,把图像的所有像素点分成两类,一类的像素值均小于等于T(背景区域),另一类的像素值均大于T(前景区域),当这两类的类间方差取得最大值时,则认为该T值为最合适的阈值。假设背景区域所有像素点数为n0,其占图像总像素数的比例为p0,平均像素值为m0;前景区域所有像素点数为n1