具体实施方式
本说明书特别指向形成依照本发明的设备的部分或者与该设备更直接地配合的元件。应该理解,未具体示出或说明的元件可采取为本领域的技术人员所熟知的各种形式。
本发明的方法可以从扫描图像数据移除所有表格色彩,在所产生的灰阶图像中只留下中性色彩。即,使用本发明的方法,可以使一个或多个表格色彩向文件的背景色彩实质偏移,即向(典型地是白色或很浅的中性色的)页面色彩偏移。该表格色彩变换用对中性色数据的最小影响实现,所述中性色数据包含文件已经被扫描的信息内容。与传统解决方式不同,不需要对扫描系统进行预先“训练”或者预知表格或背景色彩。作为该方法的结果,非所需表格色彩舍去到背景中,而同时保留所需中性色数据。在该处理之后,则可将文件数据用于光符辨识(OCR)逻辑处理、标记感测探测处理,或者从文件中获得“中性色数据”(更确切地说是从文件的中性色彩部分获得数据)的其它处理。
为了实现这个目的,本发明的方法典型地使用减小的分辨率或子采样图像来工作,以简单地减少必须被处理的图像数据量以及减少所需的时间量。该方法首先对减小的分辨率或子采样图像执行基于直方图的RGB分析,以将扫描图像数据分类以用于确定背景和表格色彩内容。接下来,执行色调(H)、饱和度(S)和值(V)变换,并且分析所得到的HSV数据以识别最普通的背景和表格颜色。然后开发系数算法并将其应用于每个像素,这使中性色数据和背景像素产生很小的变化或不产生变化并使表格色彩像素向背景变换。
图1的逻辑流程图示出色彩舍去方法的基本步骤。这些步骤的更详细说明接下来在本申请的后续部分中给出。提供图例30作为在此以及后面在图2、3A、3B和6所示的逻辑流程图中使用的符号的关键。
最初,提供原始图像10作为图像数据。起初几个关键步骤帮助识别文件的色彩内容。作为这些步骤的第一步骤,对原始图像10的图像数据执行可选的子采样步骤100或者相似步骤以减小图像的分辨率。子采样或其它分辨率减小(例如使用双线性差值或双三次差值)有助于减少计算时间,因为其减小了需要进行处理以用于随后的色彩分析的图像数据的大小。必须注意,该子采样或其它分辨率减小只针对色彩分析程序而进行。一旦已使用在此定义的初始步骤识别了待舍去到背景中的表格色彩,则处理完整的原始图像10(而不是该图像的子采样部分)以在后面的步骤中移除色彩。
下面执行方块直方图分析步骤200,其中图像被分割成多块并且每块被用于生成红色(R)、绿色(G)和蓝色(B)直方图。使用方块直方图分析步骤200将图像的各段分类以识别包含色彩和其它内容的区域。接下来,从方块直方图分析步骤200获得的一部分图像段被转换成HSV数据并在HSV分析步骤300中进行处理。在该处理中,对这些色调、饱和度和值参数进行分析以为这些方块找出最普通的背景和前景色彩。
使用在本发明中所使用的逻辑的重复迭代,可以将若干非中性色彩作为舍去色彩来处理。一旦确定了这些色彩,则为每个色彩计算系数集并将该系数集应用于系数应用步骤400。处理的这部分可以可选地允许测量操作者对舍去色彩识别的控制。作为该处理的结果,提供色彩舍去图像18。
有益的是注意到,参考图1所述的处理应用于最简单的情况,即移除单一色彩。相同处理的合适部分也在必须舍去多个色彩的情况下迭代地实行,如随后所述。
图2的逻辑流程图示出在子采样步骤100和方块直方图分析步骤200中所使用的程序序列。图7示出原始图像10在其经历该处理时的平面图(未按比例)。对于该步骤,对原始图像10进行子采样,或者以其它方式减小其分辨率,并使用特定尺寸、组织成列12的段或方块14对其进行扫描。将块14排列成连续的列提供了对整个图像的覆盖。方块14优选是不重叠的,从而每个像素16出现于一个且只有一个方块14中。
在每个方块14中有若干像素16,如在图7的放大窗E中所示。对一定数量的像素16进行子采样以用于随后的色彩分析。在图7的简单示例中,子采样每隔一像素进行选择以提供分辨率减小的图像。如先前说提到的,该子采样是可选的并且仅为减小必须被处理的数据量以便于识别舍去色彩而实行。经验结果已经示出,对于确定大多数文件的舍去色彩来说,大约100dpi(dots per inch,每英寸点数)的子采样是可接受的。取决于文件的复杂性和所需的精确度,更低的dp i值(例如50-70dpi)的性能可能不如针对不小于100dpi的图像所做的分析。在一个实施例中,方块14的尺寸大约是0.16平方英寸。可替换地使用非方形的方块形状。
回过来参考图2的流程图,方块设定步骤110建立了欲用于扫描步骤120(其中在该图像的两端之间移动而获得每隔方块14)的方块14的大小。然后对每个方块14执行色彩特征化。与在整个图像上将色彩特征化的传统方法比,使用小的方块14更有利于色彩分析。使用多个小方块14促进了对相互间有所区别的多个色彩的探测。然后,在方块直方图分析步骤200中对每个方块14的特征化准备用于进一步色彩分析的图像数据,如下文所述。
方块直方图分析
在直方图生成步骤210,为每个方块14生成了红色(R)、绿色(G)和蓝色(B)直方图。因为在文件图像边缘的数据可能是部分的(例如列12中的最后一块14超过文件页的边缘),所以可从将进一步进行分析的方块直方图内容集中舍去相应的数据。
对于说生成的每个红色的、绿色的和蓝色的直方图,在获得值步骤220中获得下列数据:
(i)最小码值(CV);
(ii)最大码值(CV);
(iii)峰值或最普通的CV。
接下来是单一峰值决策步骤230,其中评估每个直方图中码值(CV)的相对分布。在步骤230中,需要确定是否任何个别的直方图展示出单一峰值或者多于一个峰值。色彩通道中的每一个都必须展示单一峰值以便于方块包含单一色彩或者中性色。具有多于仅一个峰值指示在相应方块14中存在多个色彩的可能性。对于该评估,使用凭经验确定的阈值(图2中的THRESH1)。如果最大CV和最小CV的差超过该阈值,则感测多峰值(即,可能的多色彩)状况。
在感测了单一峰值状况的情况下,接下来执行中性色彩测试240。在该逻辑中,对针对红色、绿色和蓝色的峰值进行比较。对于中性色彩,R、G和B值将大致相同,并在某一较小的变化范围内。只要这些值的差低于凭经验确定的阈值(图2中的Thresh3),则假设方块具有中性或者背景色彩。在这种情况下,变换步骤242追踪中性峰值并将针对峰值数据值的RGB数据值转换到HSV数据值。然后,将该色彩信息作为浅中性色或者背景数据存储在表A中,这在图2的20处指示。
如果步骤240确定了针对红色、绿色和蓝色的峰值之间的差超过阈值,则方块指示极有可能是色彩舍去的候选者的色彩。变换步骤244追踪色彩峰值并将针对该峰值数据值的RGB数据值转换成HSV数据值。然后,该色彩信息作为单一峰值色彩数据存储在表B中,这在图2的22处指示。
在感测多峰值状况的情况下,执行深中性色决策步骤250。在此,计算最小R、G和B值之间的差,并将其与凭经验确定的阈值(图2中的Thresh2)相比较。如果小于该阈值,则直方图指示具有多个峰值的深中性色,这是极有可能对应所感兴趣数据(例如铅笔标记、钢笔录入或者其它中性色文本或标记)的图像内容的特征。该关系,即最小R、G和B值之间的差小于阈值的多峰值状况,也可以指示直方图中的多个色彩。在任一情况下,虽然这种方块很有可能具有针对扫描文件所感兴趣的数据内容,但是关于这种方块的信息对于舍去色彩识别的目的来说并不感兴趣。相对于图2所示的逻辑流程,该数据存储在表D中,这在24处指示。同样,有益的是重新强调,仅针对舍去色彩识别的有限目的而将该数据视为“舍弃”,如表D和下文说概述的。使用该数据用于色彩分析的尝试可能在识别表格色彩时导致模糊的结果。在后续色彩计算中不考虑该数据使得处理简化并更可能产生表格色彩的精确识别。明显地,不会舍弃对应于分配给表D的方块的实际图像数据。一旦已经识别一个或更多个舍去色彩,则与所有其它图像像素一起对该图像数据进行色彩舍去处理,如下文所述。
仍参考图2的步骤250,在存在多峰值状况并且最小R、G和B值的差超过阈值的情况下,直方图指示色彩和背景内容。变换步骤254追踪多峰值方块并且将针对峰值数据值的RGB数据值转换成HSV数据值。然后将此存储在表C中,这在26处指示。
因此,在方块直方图分析步骤200中的处理结束时,已经将每个方块14的内容分类并存储。综上所述,以进行下列分配以用于对每个方块14进行分类:
表A,其中方块14主要包含中性色或者背景色彩。
表B,其中方块14包含纯表格色彩的相当大的区域。
表C,其中方块14兼含表格色彩和背景内容。
表D,其中方块14包含极有可能包含所感兴趣的数据的深中性色内容。
然后,具有与欲保留的表D深中性色内容明显不同内容的所有方块14在额外分析之前都必须经历RGB到HSV转换。
作为示例,考虑图4所示的部分文件。在此,文件40具有白色/中性色背景并具有红色表格色彩(欲舍去色彩)和黑色文本。文件40具有红线42、录入文本44和色彩区域46,并且使用图2所示的逻辑流程来示出针对代表性方块14的一小部分样本数据。在该实施例中,对来自该文件的方块14如下分类:
(i)在表C中保存多峰值直方图数据(色彩前景和背景)。在包含白色或其它浅中性色背景和有色文本或线的文件的一部分上,红色、绿色和蓝色方块直方图展示多于一个峰值。RGB方块直方图中的最小值代表针对该方块14所存在的最深色彩(图4示例中的红色),数据存储与表C中。
(ii)单一峰值中性色直方图数据保存于表A(浅中性色背景)中。在只包含白色、偏白色或者其它主要为中性色背景的文件的一部分上,红色、绿色和蓝色方块直方图只展示一个峰值。在这样的方块14中,针对红色、绿色和蓝色成分的最普通CV将对应于白色背景色彩,针对每一这种方块的数据存储于表A中。
(iii)单一峰值色彩直方图数据保存于表B(色彩背景)中。在包含例如图4中色彩区域46的较大纯舍去色彩区域(在一个实施例中超过0.16平方英寸)的文件的一部分上,可生成包含该非中性色彩的单一峰值方块直方图,针对每一这种方块的数据存储于表B中。
(iv)所有其它直方图数据保存在表D(深中性色前景和背景)中。在兼含白色背景和黑色文本的文件的一部分上,红色、绿色和蓝色方块直方图展示多于一个峰值。RGB方块直方图中的最小值代表针对该方块而存在的最深中性黑色文本,其是不会针对舍去色彩识别目的而考虑的数据。针对这种方块的色彩数据存储于表D中。
按照对方块14中的每一个的这种分类和分配,使用表B和表C数据来确定欲在产生用于色彩舍去的系数等式时使用的最佳色彩RGB值。如果发现方块14针对红色、绿色和蓝色方块直方图具有单一峰值,则根据来自那些方块的最普通的红色、绿色和蓝色CV来计算色调、饱和度和值(HSV)参数。如果方块14具有针对红色、绿色和蓝色的多峰值直方图,并且最小值的比较指示存在该色彩,则基于针对RGB的最小值来计算针对该方块14的HSV参数。
一旦完成方块直方图分析步骤200,算法便具有以下信息:文件图像中方块14的总数、单一峰值方块的数量以及非中性色多峰值方块14的数量。然后,可以在后续处理中使用针对每个单一峰值方块直方图和多峰值方块直方图的对应色调、饱和度和值参数。
色调、饱和度和值分析
如在成像领域中已熟知的那样,色彩的精确分析需要看三个属性,例如:红色、绿色、蓝色(RGB)或者色调、饱和度和值(HSV)坐标。在此,已经示出使用HSV值而不是其对应的RGB值对于识别表格色彩来说特别有用。
在利用图2的处理逻辑实行对方块14的分类和分配之后,在发现文件中的舍去色彩时的下一步是分析针对已经分类成表20、22和26的数据的方块直方图计算的结果。这通过分析已经针对每个对应的单一峰值和多峰值方块直方图而计算出的色调、饱和度和值参数实行。如参考图2的处理步骤所述,分配给表A、B和C的RGB值变换成其对应的色调、饱和度和值(HSV)坐标。
根据每个单一峰值方块直方图,针对最普通的红色、绿色和蓝色码值(CV)来计算色调、饱和度和值(HSV)参数,如参考图2所述。然后实行对这些色调、饱和度和值参数的分析以发现最普通的背景和前景色彩。通过循环穿过HSV分析程序,可以发现若干非中性色彩作为舍去色彩。
图3A和3B的逻辑流程图给出在HSV分析步骤300中所遵循的详细程序。第一步骤序列开始于表A中所列的方块数据。如前面提到和在图4的示例中所示出的,表A包含针对只具有浅中性色前景内容的方块14的录入项。
分析的第一步骤是发现最普通的中性色背景色彩,如果在大量色彩中存在一个最普通的中性色背景色彩的话。这帮助消除不是背景色彩的中性色彩,并且通过从上述(表A)直方图数据中发现最普通值(HSV)来实行。首先在普通值确定步骤304中对从在图2中的方块直方图分析步骤200所获得的表A值进行平均。步骤304为所有的表A录入项提供平均的R、G和B值。使用图4的示例,该步骤本质上将R、G和B列的每一列中的值进行平均,从而计算出平均的R值、平均的G值和平均的B值。
然后使用表A值实行中性色内容决策步骤310。该步骤确定背景内容是否是色彩或者中性色。这可以若干方式来确定。在一个实施例中,使用是整个文件的50%的阈值或者某个其它合适的百分比值。在表A内容超过针对该文件的阈值百分比的情况下,可以假设中性背景色彩并且继续利用取平均步骤312处理。取平均步骤312找到针对具有这种内容类型的方块的平均峰值和最小RGB值。然后,作为取平均步骤312的一部分来计算分布的最小值和该平均的中间值。执行另一取平均步骤314以计算在普通值确定步骤304中所获得的平均R、G和B峰值的平均值。然后,在背景设定步骤316,将背景变量设为平均RGB峰值。将背景最小值设为在步骤312中所计算的最小值。
在一些情况下,可以在有色纸上印刷文件。在表A内容指示有色而非中性色彩背景的情况下,执行在图3A中由虚线轮廓所指示的色彩背景步骤320。这些步骤应用于来自表B的数据。首先,获得了针对最普通RGB色调的码值。然后,计算平均RGB值的最高值并将其指定为背景。该平均背景用于计算在色彩舍去阶段所采用的主要系数,后面将说明。还获得RGB分布的最小值并将其指定为背景最小值,这用来确定像素是否为背景像素。例如,如果最高值通道被确定为红色,则将红色通道高于最小背景值情况下的图像像素指定为红色通道值。
下面参考图3B,示出用于识别背景以及欲舍去的表格色彩的基本处理循环。在每个循环录入330之后,执行色调识别步骤332,其基本步骤在虚线轮廓内示出。将来自表C的值用作为输入。使用表C数据生成了HSV值的直方图。可以在连续的回路操作中识别出第一、第二和第三最普通的色调。一旦找到最普通色调,便将超出给定范围角度(在图3B的示例实施例中是+/-10度)处的其它色调排除在考虑之外。然后针对所识别的色彩检查值(V)和饱和度(S)坐标。确定最普通的V坐标值并将其用于识别针对表C中的对应RGB数据录入项的对应饱和度S坐标值。
例如,参考图5,其中示出某些典型值,例如可能在表C内列出的值。将这些RGB值转换成HSV值。在所给出的示例中(其中为清楚起见在该示例中只示出4个值),最普通的色调值是9度,红色色调。+/-10度的范围给定359度和19度之间的H值所得范围。这为该循环操作消除了(252,370,180)HSV值,(带蓝色的色调),因为值252度在该H值范围之外。剩余HSV录入项的最普通值坐标是160。这将可以可选地用作为针对伪造数据的检验的饱和度计数隔离。这些饱和度值的最高值(S=500)对应于第二RGB录入项(160,90,45)。
再次参考图3B,执行第二色调识别步骤338,其基本步骤在虚线轮廓内示出。这些步骤对与表C一起使用的数据应用相似处理,使用在色调识别步骤332所建立的相同色调范围并获得饱和度值。舍去色彩确定步骤340将从表C和表B数据所获得饱和度值进行比较,并且选择对应于两个饱和度值中的较低值的RGB值作为欲舍去的RGB色彩。然后,在最大/最小确定步骤344中获得对应于该色彩的最大和最小RGB值。例如,对于RGB色彩(160,90,45)来说,最大值是160,最小值是45。
然后,循环返回步骤350将处理指回循环录入330以用于欲舍去的后续表格色彩。在一个实施例中,执行图3B所示循环三次以识别三个舍去色彩。参考图3A和3B在前面所述的程序探测中性色背景和色彩内容并对其进行概括,以便于提供由色彩移除算法所使用的变量。一旦确定了这些色彩,这为每个色彩计算系数集。
色彩舍去算法
前面的步骤提供用于生成系数的变量,所述系数允许快速处理图像数据并移除非所需的色彩材料。例如,在共同转让的美国专利No.5,014,328和美国专利No.5,014,329(两个都颁予Rudak)中说明了色彩舍去系数的使用,并且这两个专利都通过引用并入于此。
对于色彩舍去,为每个RGB色彩生成色彩舍去函数。该函数具有一次系数(primary coefficient)和二次系数。对于图像中的每个像素,将该一次系数乘以最大RGB值,而将二次系数乘以最小RGB值。然后,将这两个所产生的值加到一起以产生针对该像素的灰阶值。由于任何图像都可以具有与所存在的色彩一样多的系数等式,因此必须检查图像中的每个像素以确定哪个等式应该应用于该像素。
首先将每个像素RGB值与背景最小值相比较。如果R、G和B值大于背景最小值,则将该像素灰阶值设为该像素RGB(最大值)。这样做是为了保留图像内的背景可变性。如果任何RGB值小于背景最小值,则在给定像素RGB与用于生成色彩舍去系数等式的三个可能RGB值之间执行比较。针对最接近匹配的色彩舍去RGB的等式(如由该像素的相对色调所确定的那样)将被用于计算针对该像素的灰阶值。如果未发现最接近匹配,则使用具有最低一次系数数字的等式。
多色彩舍去算法的最终输出是具有与输入图像相同分辨率的灰阶图像。输出图像将所有中性色像素保持为接近其原始灰阶值,而将所有合格的色彩像素驱至近背景值。像素的色彩越多,则系数等式将越有可能产生接近图像中的背景值的灰阶值。
图6的逻辑流程图示出根据一个实施例的多色彩舍去程序。系数计算步骤410具有在虚线轮廓中示出的程序序列。为了能够动态地(例如,在对文件进行扫描时)执行该程序,只相对于二维来考虑三维色彩空间。由于算法的目的是舍去除了中性色的所有色彩,因此二维色彩空间是可行的选择。例如,如果在3维RGB色彩空间中将最主要的表格色彩识别为RGB(200,100,50),则会在2维空间中使用最大值(200)和最小值(50)来计算系数等式。该等式对于任何由RGB(200,200-50,50)或(200-50,200,50)或(50,200,200-50)代表的色彩都会完全相同。使用该等式的目的是将任何这些RGB色彩驱至灰阶背景值。
例如,图6中系数计算步骤410的程序可获得如下内容:
参数->最大值200,最小值50,背景235
一次系数=(背景-最小值)/(最大值-最小值)
(235-50)/(200-50)=1.233
二次系数=(1-一次系数)
1-1.233=-0.233
然后,使用在前面的系数计算步骤410中获得的系数来为每个像素执行像素处理步骤420。在该2维空间中,根据下面所示例的系数等式将3维空间中的若干色彩平面移动到背景值:
系数计算=(最大值*一次系数)+(最小值*二次系数)
(200*1.233)+(50*-0.233)=234.95
最大值(200)和最小值(50)系数等式因而将若干色彩移动至灰阶背景值235。
本发明的方法提供了灵活、有效的适应性色彩舍去方案,并且不需要针对可能扫描的每种类型的文件进行训练。明显地,本发明的方法允许分别扫描每一个别文件,而不会预先载入值或需要操作者录入并且不需要识别文件类型。不需要预先对文件进行分类,从而只有特定类型的文件去往特别的扫描器,或者将只具有特定色彩的文件在相同批次程序中进行处理。这意味着,例如,不必将扫描限于文件类型的特定集;本发明的方法可以为不同的色彩文件提供色彩舍去,从而允许扫描这些文件并按顺序对其进行处理。
然后,可以将使用本发明方法所处理的文件以若干种方式使用。例如,可在根据本发明的色彩舍去之后对文件执行OCR处理。
可以由扫描器设备或者由对所扫描的数据进行操作的图像处理器来执行本发明的方法。因为其提供用于移除一个或多个非所需表格色彩的快速方法,所以可以将本发明方法直接在所扫描数据上执行,从而提供给终端用户的扫描器数据已经通过使用表格色彩舍去而符合条件。
不像用于选择色彩舍去的其它方法,本发明方法不需要训练扫描器或者图像处理装置。利用本发明方法,不需要预先对文件进行分类。
子采样、方块化、生成直方图、执行RGB-HSV转换以及针对异常状况的测试的步骤可以应用那些图像处理领域内的专业人员所熟悉的若干不同类型的程序。如那些图像处理领域内的专业人员所熟知的,还可以在图像数据处理期间执行针对异常的可选检查。色彩扫描可以获得RGB数据,或者可选地可以获得某一其它数据格式(例如YCC格式)的色彩数据。方块优选是非重叠的,虽然一定数量的重叠(其中相同像素在两个相邻方块的边缘上)可以是允许的。尽管已经发现系数变换有利于将表格色彩偏移为背景色彩,但可以替换地使用应用本发明的色彩识别方法的其它变换。子采样只是可用于减小图像方块的分辨率的若干种方法之一。用于减小分辨率的其它合适方法包括,但不限于,例如双线性差值或者双三次差值。
因此,所提供的是用于从所扫描的图像中识别并移除表格色彩内容的设备和方法。