发明内容
鉴于上述原因,本发明提供一种字段提取方法及装置。
根据本发明的一个方面,提供一种字段提取方法,包括:提取图像中的文字区域的像素;统计文字区域的像素的颜色,将文字区域的像素按颜色划分为若干个聚类;对文字区域的像素进行连通域分析,并对识别出的每个像素连通区域的像素设定一种颜色,该设定的颜色对应该连通区域中的像素所属聚类的颜色;对像素连通区域进行文本行识别,将同在一个文本行中且颜色相同的像素连通区域判定为一个字段。
根据本发明的另一方面,在提取图像中的文字区域的像素的步骤中,分别在R、G、B三个色彩通道提取文字区域的像素,并把该三个通道上的文字区域的像素合并得到该图像中的文字区域的像素。
根据本发明的另一方面,在每个色彩通道提取文字区域时,先将该通道下的图像转换为灰度图像,再转换成二值图像,从该二值图像中提取文字区域的像素;然后将该通道下的图像反色后,再将该反色图像转换为灰度图像和二值图像,并从中提取文字区域的像素;将该两次提取的像素合并作为该通道下的文字区域的像素。
根据本发明的另一方面,在统计文字区域的像素的颜色的步骤中,使用K均值聚类或C均值聚类方法对文字区域的像素按颜色进行聚类。
根据本发明的另一方面,所述设定的颜色为像素连通区域的各像素所属比例最高的聚类的颜色。
根据本发明的另一方面,提供一种字段提取装置,包括:文字区域提取单元,用于提取图像中的文字区域的像素;像素聚类单元,用于统计文字区域的像素的颜色,将文字区域的像素按颜色划分为若干个聚类;连通区域处理单元,用于对文字区域的像素进行连通域分析,并对识别出的每个像素连通区域的像素设定一种颜色,该设定的颜色对应该连通区域中的像素所属聚类的颜色;字段判定单元,对像素连通区域进行文本行识别,将同在一个文本行中且颜色相同的像素连通区域判定为一个字段。
根据本发明的另一方面,文字区域提取单元分别在R、G、B三个色彩通道提取文字区域的像素,并把该三个通道上的文字区域的像素合并得到该图像中的文字区域的像素。
根据本发明的另一方面,文字区域提取单元在每个色彩通道提取文字区域时,先将该通道下的图像转换为灰度图像,再转换成二值图像,从该二值图像中提取文字区域的像素;然后将该通道下的图像反色后,再将该反色图像转换为灰度图像和二值图像,并从中提取文字区域的像素;将该两次提取的像素合并作为该通道下的文字区域的像素。
根据本发明的另一方面,像素聚类单元使用K均值聚类或C均值聚类方法对文字区域的像素按颜色进行聚类。
根据本发明的另一方面,所述设定的颜色为像素连通区域的各像素所属比例最高的聚类的颜色。
使用文字区域的颜色作为划分字段的标准,使得能够简单、准确的从文字区域中提取出每个字段。
具体实施方式
附图中的流程图和框图,图示了按照本发明各种实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
现在将仅通过示例性方式来详细地描述本发明的各种实施方式。
图1是根据本发明优选实施例的一字段提取方法的流程图。该方法具体包括下列步骤:
首先执行步骤S11,提取图像中的文字区域的像素。可以通过各种已知的方式从图像中提取出表示文字区域的像素点,例如通过计算各像素点的梯度。
为了能在具有彩色背景的图像中准确的提取出文字区域的像素,在一个优选实施方式中,分别在R、G、B三个色彩通道提取文字区域的像素,并把该三个通道上的文字区域的像素合并得到该图像中的文字区域的像素。将图像分解为三个色彩通道后,各像素点之间的色彩差异导致的灰度差异将变得明显,从而有利于提取到表征文字特征的像素点。在每个色彩通道提取文字区域时,先将该通道下的图像转换为灰度图像,再转换成二值图像,从该二值图像中提取文字区域的像素。在将灰度图像转换为二值图像时,通过设置合理的阈值,使灰度值达到一定阈值(即像素灰色深度)的像素点设定为值为1,而将其他像素点设定为值为0,从而可以将文字区域像素尽可能多的表示出来,同时又避免过多的噪声。该二值图像中的值为“1”的像素点即为文字区域的像素。
为了将图像中的比背景色浅的文字提取出来,优选的,还将每个通道下的图像反色后,再将该反色图像转换为灰度图像和二值图像,并从中提取文字区域的像素。为了避免将反色后的图像中的背景像素提取出来,对该反色后的灰度图像的各像素的灰度进行统计,当一定范围内灰度值的像素的百分比小于一定阈值时,才将其认定为文字区域,并将其二值化为“1”,而大于一定阈值的百分比的像素的灰度值则是背景像素的灰度值,而将其二值化为“0”。将反色前、后两次提取的像素合并作为该通道下的文字区域的像素。
最后,把R、G、B三个通道上的文字区域的像素合并得到该图像中的文字区域的像素,即只要在一个通道上被提取为文字区域的像素点,就是该图像中的文字区域的像素点。
然后执行步骤S12,统计文字区域的像素的颜色,将文字区域的像素按颜色划分为若干个聚类。回到原始图像中,针对上一步骤中提取出来的各文字区域的像素点,统计它们的颜色值。将这些像素点按照一定的聚类方法划分为若干个聚类,每个聚类对应一个颜色。已知的聚类方法有K均值聚类方法和C均值聚类方法。通过该聚类,具有相近颜色的像素点被划分为一类,且该类的所有像素点被设为相同的颜色值,该相同的颜色值与该类像素点的原始的颜色相近,并具体由该聚类算法而确定。该步骤使得文字区域的像素点的颜色被分类并均一化,从而消除其中的微小色差带来的处理复杂化,为后续的基于颜色来提取字段创造了条件。
然后执行步骤S13,对文字区域的像素进行连通域分析,并对识别出的每个像素连通区域的像素设定一种颜色,该设定的颜色对应该连通区域中的像素所属聚类的颜色。可以使用已知的各种算法,来识别图像中的各个像素连通区域。每个像素连通区域代表了文字的一个笔画或特征。
在识别出一个连通区域后,统计该连通区域的所有像素点的颜色。这些像素点的颜色由于经过步骤S12的聚类后而都属于聚类中的颜色。然而,一个连通区域中的各像素中可能由于噪声等原因,某些像素可能与其他像素的颜色有较大差异因而被划分到与其他像素不同的聚类,并从而具有与该连通区域中的其他像素不同的聚类颜色。为了方便后续基于颜色对字段进行提取,该步骤将连通区域中所有像素的颜色设置为该连通区域中所有像素点中所占比例最大的颜色,从而使得每个连通区域中的所有像素具有相同的聚类颜色。
然后执行步骤S14,对像素连通区域进行文本行识别,将同在一个文本行中且颜色相同的像素连通区域判定为一个字段。可以使用各种已知的文本行识别算法,基于像素连通区域之间的位置关系来识别文本行。当一个文本行中的所有像素连通区域被识别出来后,将该同一文本行中的具有相同颜色的像素连通区域提取出来,作为一个结果,即代表了一个字段。
可以对该提取出来的字段进行文字拆分、文字识别等处理,从而获得该字段的含义。
该方法尤其适用于从使用不同颜色的文字表示不同部分的内容的图像中提取字段,从而针对该具有单独含义的字段进行文字识别,避免了在进行文字识别后再基于语义对该文字串进行拆分的麻烦。例如,在彩色名片中,在一行中往往使用一种颜色印刷标题,而用另一种颜色印刷该标题下的内容。通过该方法可以直接将标题和标题对应的内容提取为不同的字段,分别加以文字识别,而得到具有特定含义的字符串。
上述字段提取方法适于通过计算机程序算法来实现。
图2是适于用来实践本发明实施方式的字段提取装置200的示意性框图。该字段提取装置200包括文字区域提取单元201,用于提取图像中的文字区域的像素;像素聚类单元202,用于统计文字区域的像素的颜色,将文字区域的像素按颜色划分为若干个聚类;连通区域处理单元203,用于对文字区域的像素进行连通域分析,并对识别出的每个像素连通区域的像素设定一种颜色,该设定的颜色对应该连通区域中的像素所属聚类的颜色;字段判定单元204,对像素连通区域进行文本行识别,将同在一个文本行中且颜色相同的像素连通区域判定为一个字段。该字段提取装置可用于实现以上所述的字段提取方法。
该字段提取装置适于通过载入以上字段提取方法的计算机硬件来实现。该字段提取装置尤其适于通过载入以上字段提取算法的、具有计算处理功能的手机等移动设备来实现。该移动设备优选还具有数码相机,用于拍摄名片等包含文字的图像信息。该移动设备可通过载入的算法程序,即时对拍摄的名片等图像中的字段进行提取、识别、存储。
下面参考图3,其示出了适于用来实践本发明实施方式的移动终端300的示意性框图。在图3所示的示例中,移动终端300是一个具有无线通信能力的移动设备。然而,可以理解,这仅仅是示例性而非限制性的。其他类型的移动终端也可以容易地采用本发明的实施方式,诸如便携式数字助理(PDA)、寻呼机、移动计算机、移动电视、游戏设备、膝上型计算机、照相机、录像机、GPS设备以及其他类型的语音和文本通信系统。固定式移动终端同样可以容易地使用本发明的实施方式。
移动终端300包括一个或天线312,其可操作地与发射机314和接收机316进行通信。移动终端300还包括处理器312或者其他处理元件,其分别提供去往发射机314的信号和接收来自接收机316的信号。信号包括按照适当蜂窝系统的空中接口标准的信令信息,并且还包括用户语音、接收的数据和/或用户生成的数据。在此方面,移动终端300能够利用一个或多个空中接口标准、通信协议、调制类型以及接入类型来进行操作。作为示范,移动终端300能够根据多个第一代、第二代、第三代和/或第四代通信协议等中的任何协议来进行操作。例如,移动终端300可以能够按照第二代(G)无线通信协议IS-136(TDMA)、GSM和IS-95(CDMA)来进行操作,或者按照诸如UMTS、CDMA2000、WCDMA和TD-SCDMA的第三代(G)无线通信协议来进行操作,或者按照第四代(4G)无线通信协议和/或类似协议进行操作。
可以理解,处理器312包括实现移动终端300的功能所需的电路。例如,处理器312可以包括数字信号处理器设备、微处理器设备、各种模数转换器、数模转换器和其他支持电路。移动终端300的控制和信号处理功能按照这些设备各自的能力在其间分配。处理器312由此还可以包括在调制和传输之前对消息和数据进行卷积编码和交织的功能。处理器312还可以另外包括内部语音编码器,并且可以包括内部数据调制解调器。此外,处理器312可以包括对可以存储在存储器中的一个或多个软件程序进行操作的功能。例如,处理器312可以能够操作连接程序,诸如传统的Web浏览器。连接程序继而可以允许移动终端300例如按照无线应用协议(WAP)、超文本传输协议(HTTP)等来发射和接收Web内容(诸如基于位置的内容和/或其他web页面内容)。
移动终端300还可以包括用户接口,其例如可以包括耳机或者扬声器324、振铃器322、麦克风326、显示屏328以及输入接口331,所有这些设备都耦合至处理器312。移动终端300可以包括小键盘330。小键盘330可以包括传统的数字键(0-9)和相关键(#、*),以及用于操作移动终端300的其他键。备选地,小键盘330可以包括传统的QWERTY小键盘布置。小键盘330还可以包括与功能相关联的各种软键。移动终端300还可以包括相机模块336,用于捕获静态和/或动态图像。
特别地,显示屏328可以包括触摸式屏幕和/或邻近式屏幕,用户可以通过直接操作屏幕而操作移动终端300。此时,显示屏328同时充当输入设备和输出设备二者。在这样的实施方式中,输入接口331可以配置用于接收用户通过例如普通的笔、专用触笔和/或手指在显示屏328上提供的输入,包括指点输入和手势输入。处理器312可配置用于检测此类输入,并且识别出用户的手势。
此外,移动终端300可以包括诸如操纵杆的接口设备或者其他用于输入接口。移动终端300还包括电池334,诸如振动电池组,用于为操作移动终端300所需的各种电路供电,以及可选地提供机械振动作为可检测输出。
移动终端300可以进一步包括用户标识模块(UIM)338。UIM 338通常是具有内置处理器的存储器设备。UIM 338例如可以包括订户标识模块(SIM)、通用集成电路卡(UICC)、通用订户标识模块(USIM)、可移动用户标识模块(R-UIM)等。UIM 338通常存储与移动订户相关的信元。
移动终端300还可以具有存储器。例如,移动终端300可以包括易失性存储器340,例如包括用于数据临时存储的高速缓存区域的易失性随机存取存储器(RAM)。移动终端300还可以包括其他非易失性存储器342,其可以是嵌入式的和/或可移动的。非易失性存储器342可以附加地或者可选地包括例如EEPROM和闪存等。存储器可以存储移动终端300所使用的多个信息片段和数据中的任意项,以实现移动终端300的功能。
所述移动终端300可以配置用于实现上文结合图1描述的方法以及作为结合图2描述的装置。
应当理解,图3所述的结构框图仅仅为了示例的目的而示出的,而不是对本发明范围的限制。在某些情况下,可以根据具体情况而增加或者减少某些设备。
已经出于示出和描述的目的给出了本发明的说明书,但是其并不意在是穷举的或者限制于所公开形式的发明。本领域技术人员可以想到很多修改和变体。本领域技术人员应当理解,本发明实施方式中的方法和装置可以以软件、硬件、固件或其组合实现。
因此,实施方式是为了更好地说明本发明的原理、实际应用以及使本领域技术人员中的其他人员能够理解以下内容而选择和描述的,即,在不脱离本发明精神的前提下,做出的所有修改和替换都将落入所附权利要求定义的本发明保护范围内。