一种改进的局部二值化方法与流程

文档序号:23618754发布日期:2021-01-12 10:28阅读:162来源:国知局
一种改进的局部二值化方法与流程

本发明涉及计算机视觉与图形处理技术领域,具体涉及一种改进的局部二值化方法。



背景技术:

图像二值化方法是计算机视觉与图形处理领域中最简单的图像处理方法之一,它作为某些复杂图像处理的基础,将图像二值化后的数据作为输入数据,起到简化数据、提高后续图像处理的计算速度的作用。图像二值化的精度是否符合要求会导致某个复杂图像处理后续的判断,最终导致结果出现误差。图像二值化除了能够简化计算之外,还可以将感兴趣的区域与背景进行分离,区分出前景与背景,在文本文档处理中运用较为广泛。

传统的图像二值化方法基本思路需要明确一个颜色阈值,这个颜色阈值是通过计算图像的灰度直方图,利用不同的颜色阈值选取方法,确定合适的颜色阈值后对图像中的每一个像素点的颜色数值进行判断,大于这个阈值为白点,小于等于这个阈值为黑点。例如公告号为cn100363942c的专利说明书中公开了一种图像的二值化方法,包括以下步骤:(1)将输入的文档转换为数字图像数据;(2)首先将图像按三个等级分块,分别为整体级、子图像区域级、象素区域级,然后扫描统计三个等级各块的特征值;所述的整体级是整幅图像为一个块,子图像区域级是将图像分成若干个子图像,所述的子图像是固定大小的,或者是根据整体级图像的大小,按比例确定,每一个子图像块不小于128×128个象素点;象素区域级是以n*n的象素点阵为一块,其中n为正整数,n小于等于16;(3)计算出整体级和子图像区域级各块的阈值;(4)根据步骤(2)和步骤(3)得到的数据对子图像区域级的特征值进行修正。这种方法对于颜色阈值的选定十分苛刻,该阈值会直接影响二值化结果。

另外,其他常见的二值化算法可以大致分成六类:基于经验值的方法、基于全局阈值的方法、基于局部阈值的方法、基于迭代的方法、基于最大熵的方法、基于最大类间方差(大津算法,ostu)。这些方法主要利用灰度直方图中的双峰、多峰等特征确定颜色阈值,往往能够取得比较好的二值化结果,但是当遇到一些特定情况,例如在复杂颜色背景下的文字提取中,灰度直方图中出现双峰和多峰的特征不太明显,并且颜色分布比较离散,无法正确分离前景与背景,导致二值化后的图像颜色过深或者颜色过浅,最终导致二值化失败。

日常在对于企业logo的处理时,logo通常出现在颜色杂乱的背景图中,利用现有的机器学习方法能够直接检测到这种logo的大致位置,但是无法获得紧贴logo的图像区域,上述方法也均不能起到好的提取效果,因此本发明旨在提供一种借助原始设计图像模板,对具有复杂颜色背景的图片进行前景与背景的分离。



技术实现要素:

针对现有技术的不足,本发明提供了一种改进的局部二值化方法,能有效提高在复杂颜色背景的图片中正确分离前景与背景的能力。

一种改进的局部二值化方法,包括如下步骤:

(1)将输入图片转换成灰度图,并对灰度图中各像素点的灰度值进行计算;

(2)统计灰度直方图中出现的峰以及峰对应的灰度颜色;

(3)将灰度颜色还原成rgb三通道颜色,并合并相近的颜色;

(4)统计经步骤(3)合并后的每一个颜色在图片中像素点的个数,计算每一个颜色的占比,并进行排序,输出最后的颜色字典及占比;

(5)在步骤(4)的颜色字典中选取颜色占比最大的若干组颜色;

(6)获取输入图片的原始设计模板图片,遍历经步骤(5)选取的每一个颜色,判断每一个颜色是否对应模板图片中的前景色或背景色;

(7)将步骤(6)中前景色所对应的颜色替换为二值化图中的白色,背景色所对应的颜色替换为二值化图中的黑色,获得最终的二值化图片。

采用本发明的方法,可以对背景颜色复杂的图片提取前景,并不受传统二值化算法中的阈值影响,增加了二值化的鲁棒性。

作为优选,所述步骤(1)中,灰度图中各像素点的灰度值的计算公式如下:

其中,pgray表示当前像素点的灰度值,round()表示取整,r,g,b为各像素点的r,g,b三通道的颜色数值。

每个通道数值除以2n的原因是为了减少计算中的复杂度,使用22×(8-n)和28-n可以进行移位,使每一个灰度值都能够包含rgb三通道信息。

进一步优选,所述n为3;当前像素点的灰度值的计算公式如下:

因此,该图片的灰度阶级为0-23×(8-3),即0-32767,一共23×(8-3)个色阶,即32767个色阶。

r、g、b三个通道的取值范围为0-255,为十进制,二次幂的范围对应是0-28,如果将某一数字转换成二进制,那么就会对应8个位。例如十进制132转换成二进制是(10000100)2。

除以8的目的是为了限定最后计算得到的颜色数值的位数,使得每一个通道占据二进制中的5位,这样可以使颜色数分布在0-32767之间,对应二次幂的范围是0-215

乘以1024目的就是让r通道的数值左移10位,到达15-10位,乘以32的目的是为了能够让g通道颜色左移5位,占据中间的5位,b通道颜色占据最后5位,这里每一块区域占据5位。

作为优选,在所述步骤(2)统计前,将灰度直方图像素点个数总和归一化至不超过1000000。通常局部图像尺寸大小为1000×1000,此处设定为1000000,一方面可以满足尺寸要求,另一方面能够减少计算中的时间损耗。

作为优选,所述步骤(2)中的峰值不小于20000,两峰之间最小间隔为1。按照前述说明,将总像素点归一化至1000000,将步骤(2)中峰值设定在20000的目的是为了能够去除占比非常低的颜色对二值化的影响。作为经验值设定为总像素点的2%,可以对具体实施例做动态修改。

作为优选,所述步骤(2)在统计灰度直方图中出现的峰前,在灰度直方图的首部和尾部各增加一个零数据。

在步骤(2)中,可能存在直方图的第一个位置和最后一个位置存在峰,因为在灰度直方图中,第一个位置对应的rgb颜色为黑色,最后一个位置对应的rgb颜色为白色。在通常的文本识别场景中,白色和黑色出现的可能性较大,因此需要在灰度直方图的首部和尾部各增加一个零数据,用于保证在寻找峰时都能被正确找到。

作为优选,所述步骤(3)具体为:将灰度颜色的灰度值转化成缩小后的rgb三通道数值,定义最小颜色间隔数,若还原后的颜色在同一通道之间的间隔差距不超过所述间隔数,则认为是相近的颜色,将相近颜色的各颜色比例进行合并。在做颜色变化中,为了提高计算效率,采用位操作的方法移位进行计算,提高了计算速度。

作为优选,所述步骤(6)包括:

(61)定义颜色数组获得经步骤(5)选取的每一个颜色的颜色数组

(62)获取输入图片的原始设计模板图片,获得模板图片的前景色的颜色数组

(63)计算的相关度,设定相关度阈值λ,若大于λ,则认为该颜色是对应模板图片的白色,相关度的计算公式如下:

其中,的协方差,的方差,的方差。

相关系数r的绝对值在0.8以上,认为两者有强的相关性,0.3到0.8之间,认为有弱的相关性,0.3以下,认为没有相关性。

本发明的有益效果:

通过对rgb三通道颜色进行移位,人为扩充了每个颜色间隔,能够更好的体现颜色的多样性,有助于后续对前景色进行分离,同时不受传统二值化算法中的阈值影响,增加了二值化的鲁棒性,提高了在复杂颜色背景的图片中正确分离前景与背景的能力。

附图说明

图1为待进行二值化操作的图片(实际为彩色图片);

图2为本实施例采用的输入图片的模板图片;

图3为经二值化操作后的图片。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

一种改进的局部二值化方法,需要进行二值化操作的原始图片如图1(实际为彩色图片)所示,包括如下步骤:

(1)将输入图片(图1)转换成灰度图,并统计灰度直方图

灰度图中各像素点的灰度值计算公式如下:

其中,pgray表示当前像素点的灰度值,round()表示取整,r,g,b为各像素点的r(红),g(绿),b(蓝)三通道的颜色数值。

本实施例中,定义n=3,所以灰度图中各像素点的灰度值计算公式如下:

因此,该图片的灰度阶级为0-23×(8-3),即0-32767,一共23×(8-3)个色阶,即32767个色阶。

(2)将灰度直方图像素点个数总和归一化至规定大小,统计灰度直方图中出现的峰以及峰对应的灰度颜色

本实施例中,将直方图的像素点个数总和归一化至1000000个像素点;此时灰度直方图是一个长度为32768的一位数组,计作color,其中每一个元素计作colori。每个数组下标i代表0-32767个灰度颜色中的某一个颜色,该数组下表中的数据代表归一化后该灰度颜色的像素点个数;如color32767=2000表示灰度颜色为32767色在当前归一化至1000000个像素点中,一共有2000个像素点为该灰度颜色。

利用寻找峰值的函数,统计灰度直方图中出现的峰,此处根据设定的参数,设定峰值最小高度为20000,两峰之间最小间隔为1。在本步骤中可能存在直方图的第一个位置和最后一个位置存在峰,需要在灰度直方图的首部和尾部各增加一个零数据,用于保证在寻找峰时都能被正确找到。

(3)将灰度颜色还原成rgb三通道颜色,并合并相近的颜色;

本实施例中,将原来的灰度值转化成缩小8倍后的rgb三通道数值,定义最小颜色间隔数为1,若还原后的颜色在同一通道之间的间隔差距为1,则认为是相近的颜色,将两者颜色比例进行合并;也即,两个灰度颜色转换成r通道、b通道、g通道数值之差的绝对值小于等于8时,认定为相近的颜色。

(4)统计经步骤(3)合并后的每一个颜色在图片中像素点的个数,计算每一个颜色的占比,并进行排序,输出最后的颜色字典及占比;

(5)在步骤(4)的颜色字典中选取颜色占比最大的若干组颜色;

本实施例中,颜色数大于4个,最后取占比最大的3个颜色。

(6)获取输入图片的原始设计模板图片,遍历经步骤(5)选取的每一个颜色,判断每一个颜色是否对应模板图片中的前景色或背景色;

定义颜色color的颜色数组为图片尺寸为width×heigth,则该数组为一个width×1数组,共有width个元素,每个元素代表该处竖直方向上颜色为color的像素点总数。

待进行二值化处理的图片如图5所示,其图片尺寸大小为759×147,通过步骤(5)得到需要进行比对的颜色数为3个,按照占图像比例从大到小排列依次是(0,0,0)、(183,187,190)和(251,103,99),按照定义获得三个大小为759×1的颜色数组,分别记作

获取输入图片的原始设计模板图片,该模板图片可直接进行获取,模板图片如图2所示,其背景为黑色,其rgb颜色为(0,0,0),前景为白色,其rgb颜色为(255,255,255),无其他颜色存在,并将该模板图片分成两块区域,一块为图标区域(图2b中对应“=”区域),一块为文字区域(图2c中对应“sbc&s”区域)。

其中,模板图片包括三个子模板,分别记作templatea(图2a),templateb(图2b)和templatec(图2c),将这三个子模板图片缩放至待进行二值化的图片尺寸,即759×147,模板图片中前景色为白色,对应rbg为(255,255,255),背景色为黑色,对应rgb为(0,0,0),则可以获得白色的大小为759×1的颜色数组,分别记作

计算输入图片(图1)获取的三个颜色的颜色数组与模板图片中白色前景色的颜色数组的相关度,设定相关度阈值为λ,本实施例中,设定相关度阈值λ为0.4,如果大于λ,则认为该颜色是所对应模板图片中的白色。

相关度计算公式如下:

其中,的协方差,的方差,的方差。

相关系数r的绝对值在0.8以上,认为两者有强的相关性,0.3到0.8之间,认为有弱的相关性,0.3以下,认为没有相关性。

在本实施例中,满足阈值,满足阈值,则认为占比第一大的颜色(0,0,0)对应的是文字颜色,对应模板图片中的白色,即前景色,占比第二大的颜色(183,187,190)对应的是图标颜色,对应模板图片中的白色,也即前景色,其余的颜色为黑色,即背景色。

(7)将经步骤(6)判断的前景色所对应的颜色(文字颜色+图标颜色)替换为二值化图中的白色,背景色所对应的颜色替换为二值化图中的黑色,获得最终的二值化图片,如图3所示。

尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1