一种数字图像中提取文本区域的方法
技术领域
本发明涉及一种数字图像处理方法,特别是涉及一种数字图像中提取文本区域的方法。
背景技术
在很多内容丰富的数字图像中,一幅图通常都同时包括图形区域、文本区域、连续的图像区域等。在对数字图像进行处理时,针对不同的区域,通常会有不同的处理方式。图形与文本一般都要求具有较清晰的边缘,特别是文本区域,具有较清晰的边缘才能较容易地识别出其中的文字内容,而图像区域则更注重内容,例如在打印的时候如果选用节约碳粉的打印方式,则将整幅图都进行淡化处理,这样图像、图形、文字同时被淡化,虽然对图像的处理效果比较明显,但是不能区别对待文字和图形的边缘和内部,因为文字和图形的打印结果只需要知道位置和形状就可以,用户更关心轮廓边缘,轮廓内部的可以不要或更淡。
又如在数字复印机中,文件首先通过一个扫描单元进行扫描,经过扫描单元处理之后,文件转换为灰度图像或RGB彩色图像。图像根据例如一位驱动或多位驱动的驱动形式进一步处理。如果数字复印机是一个彩色复印机,则必须执行一个过网(Screen)功能,将8位灰度图像或8位RGB图像转换为1位或多位图像的步骤,彩色匹配步骤必须在过网功能之前执行,一些产品通过有规律的矩阵执行过网操作,另一些产品使用误差混淆来消除波纹干扰。虽然执行点阵过网中的半色调对于表现连续的色调源文件具有比较好的处理效果,但是会降低文本与图形的质量,使文本或图线的边缘更加平滑,从而导致边缘不够清晰。
因此,当前急需一种自动识别图像中的文本区域,从而可对文本区域进行区别处理,使文本或图形区域获得清晰、尖锐的边缘,但对于其它连续的色调图像与半色调图像,通过平滑过滤使整个图像更加光滑。
发明内容
本发明所要解决的技术问题在于提供一种数字图像中提取文本区域的方法,主要的目的在于提取图像中的文本区域,从而可以对文本区域进行区别处理。
为了实现上述目的,本发明提供了一种数字图像中提取文本区域的方法,其特点在于,该方法包括如下步骤:扫描该数字图像,获得该图像的亮度值;平滑过滤该数字图像;将图像划分为多个块;计算各块中水平方向以及竖直方向的边缘个数;及根据该边缘个数确定文本块;其中,计算各块中边缘的个数的步骤,还包括如下步骤:微分该块中的像素值;根据该微分数据,标记该块的正向峰值以及负向峰值;累加该峰值个数,根据该峰值个数确定边缘个数;根据该边缘个数确定文本块的步骤,是若该边缘个数大于一第二基准值,则将该块标记为文本块。
上述数字图像中提取文本区域的方法,其特点在于,若该数字图像为彩色图像,则还包括将图像转换为灰度图像的步骤。
上述数字图像中提取文本区域的方法,其特点在于,该平滑过滤该数字图像的步骤,是用高斯过滤器对图像进行平滑过滤。
上述数字图像中提取文本区域的方法,其特点在于,将图像划分为多个块的步骤,是按照每块包括N*N个像素进行划分。
上述数字图像中提取文本区域的方法,其特点在于,N的个数包括10、16、32或64。
上述数字图像中提取文本区域的方法,其特点在于,该边缘为一边的像素与另一边的像素与其有明显的灰度差别的像素集。
上述数字图像中提取文本区域的方法,其特点在于,该块的正向峰值以及负向峰值的步骤,还包括如下步骤:确定该微分数据中数字符号发生变化的像素点:分别累计该微分数据中正数和以及负数和;将该正数和以及该负数和的绝对值与一第一基准值进行比较;及根据该比较结果标记该正向峰值以及该负向峰值。
上述数字图像中提取文本区域的方法,其特点在于,该第一基准值为70。
上述数字图像中提取文本区域的方法,其特点在于,根据该比较结果标记该正向峰值以及该负向峰值的步骤,还包括:若该正数和大于基准值,则标记正向峰值;及若该负数和的绝对值大于基准值,则标记负向峰值。
上述数字图像中提取文本区域的方法,其特点在于,该第二基准值为40。
本发明的功效,在于运用关系像素间的区别,简单有效地提取数字图像中的文本区域,在降低成本的同时得到了比较好的处理效果,同时提高了标记文本区域的准确性。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1为本发明所提数字图像中提取文本区域的方法的总体流程图;
图2为本发明实施例的运作流程图;
图3为本发明实施例块区域中的像素值示意图;
图4为本发明实施例块区域中的像素值经过微分后的示意图;
图5为本发明实施例块区域中峰值标记的示意图;
图6为本发明实施例块区域中标记峰值过程的示意图;及
图7A~7I为本发明实施例增强文本区域效果的处理示意图。
其中,附图标记:
步骤110-扫描该数字图像,获得该图像的亮度值
步骤120-平滑过滤该数字图像
步走130-将图像划分为多个块
步骤140-计算各块中边缘的个数
步骤150-根据该边缘个数确定文本块
步骤2010-扫描图像,获得图像的亮度值
步骤2020-平滑过滤该数字图像
步骤2030-将图像划分为多个块
步骤2040-微分该块中的像素值
步骤2050-确定该微分数据中数字符号发生变化的像素点,分别累计该微分数据中正数和以及负数和
步骤2060-正数和的绝对值是否大于70?
步骤2070-负数和的绝对值是否大于70?
步骤2080-标记正向峰值
步骤2090-标记负向峰值
步骤2100-累加峰值个数
步骤2110-累加横向以及纵向的峰值总数
步骤2120-峰值总数是否大于40?
步骤2130-将该块标记为文本块
具体实施方式
本发明为一种数字图像中提取文本区域的方法,首先由图1说明本发明的***,该图为本发明的数字图像中提取文本区域的方法的总体流程图,说明如下:
步骤110,首先扫描该数字图像,获得该图像的亮度值;步骤120,然后平滑过滤该数字图像;步骤130,将图像划分为多个块;步骤140,计算各块中水平方向以及竖直方向的边缘个数;步骤150,最后根据该边缘个数确定文本块。
接着,通过图2来进一步说明本发明的流程,该图为本发明实施例的运作流程图,说明如下:
步骤2010,首先扫描图像,获得图像的亮度值,如果由扫描仪得到的图像是单色图像,那么该提取图像亮度值得步骤可以跳过,如果由扫描仪获得的图像是包含有RGB色彩值的彩色图像,则需要提取图像的亮度值,将图像转换为灰度图像。如果图像是RGB格式的,则图像的亮度值为:
Lightness=R*0.30+G*0.59+B*0.11
如果原始图像是其它格式的,可以将其转换为GRB格式,再提取亮度值。从RGB色彩空间到其它如YcbCr或Lab色彩空间的转换算法有很多,用户可以使用3-D查表或通过公式计算。
步骤2020,然后对图像进行预处理,对于图像中的每一个像素,使用平滑过滤对图像进行预处理,来消除对原始图像半色调(Halftone)处理而导致的调节误差。这种平滑处理并不会影响原始图像。在本实施例中,用高斯过滤器用作平滑过滤器。
步骤2030,再将图像划分为多个块,每一块具有N*N个像素,N可以为10、16、32或64。本实施例中N=10。请参考图3,经过划分某一块(10*10)的数据如图所示。
对于每一块,计算具有在水平与垂直方向上划分大的对比区域的边缘的个数,根据预先定义的第一基准值来判断当前块是否为文本区域。边缘为一边的像素与另一边的像素与其有明显的灰度差别的像素集。如果当前块的边缘个数较多的块,则该块为文本区域。
步骤2040,具体做法为微分当前块中的像素值,微分后得到的数据如图4所示。
步骤2050,确定该微分数据中数字符号发生变化的像素点,分别累计该微分数据中正数和以及负数和;步骤2060、2070,再判断正数和以及负数和的绝对值是否大于一第一基准值,本实施例中第一基准值优选为70,当符号由正数到负数改变时,如果在符号改变之前,持续正向之和大于或等于70,步骤2080,则将其标记为正向峰值;当符号由负数到正数改变,如果在符号改变之前,持续负向之和小于或等于-70,步骤2090,则将其标记为负向峰值。也就是将正数和与负数和的绝对值与70进行比较,根据比较结果进行标记,标记后的块数据如图5所示。
具体计算示意图请参见图6。例如,对于第一个微分序列[-5 -40 -46 -10 2754 17 11 9 1],其中第5个元素为(27),之后的元素都为正数,负数的和为sum=-5-40-46-10=-101<=-70,因比这里峰值个数count=count+1;相应的,最后一个元素1,虽然正负号没有改变,正数的和sum=27+54+17+11+9=118>=70,因此峰值个数count=count+1,如果符号在此处发生改变,则和大于或等于70,因此将其累加。
步骤2100,然后计算正向峰值与负向峰值数量的和。垂直方向微分步骤与上述类似,步骤2110,累计水平方向与垂直方向的峰值总和。再根据该总和进行判断,步骤2120,判断峰值个数是否大于一第二基准值,本实施例中第二基准值为40。如果垂直峰值数+水平峰值数的总和大于等于40,步骤2130,则将当前块标记为文本区域。
采用上述方法对所有块进行处理,从而将整幅图像的所有文本区域都标记出来。然后可以有针对性地对文本区域进行处理。例如对文字点的平滑、填充、消除锯齿等,从而使文字及其边缘更加清晰,增强了数字图像的效果。具体做法请参见图7A~7I,根据图中的方法增强文本区域的效果。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明权利要求的保护范围。