印页识别和数字化图像处理的方法和系统的制作方法

文档序号:6464747阅读:394来源:国知局
专利名称:印页识别和数字化图像处理的方法和系统的制作方法
技术领域
本发明一般涉及使用一个数字化转换器装置的数据输入,特别是识别放置在一个数字化转换器上的印页和确定及校正数字化转换器板的数字图像偏移的系统和方法。
美国专利US5629499(Flickinger等人)公开了一种书写板,并公开了两种识别该书写板上所用印页的方法。在第一种方法中,一个触发器用于触发书写板上所显示的不同印页标识符;在第二种方法中,一个条形码阅读器读出印页上预印的条形码。触发显示需要书写板包含一个微处理器,在每次使用一组新印页时,该微处理器也许需要重新编程。
人们已经知道数字笔记本记录放置在其上的纸张印面上所制作的符号。例如,A.T.Cross公司已经上市了一种CrossPad 35(参见

图1),即,一个利用无线传输来数字化和记录书写动作的便携数字笔记本。CrossPad将记录的书写动作发送给一个个人计算机进行处理和分析。然而,CrossPad本身不能识别预印的印页。由CrossPad记录并发送给计算机的信息仅包括通过用户在一个印页上书写而输入的笔划。预印在印页上的信息不能被CrossPad检测。CrossPad没有一个可以通过用户触发的印页ID显示器,也没有条形码阅读器。
由于诸如CrossPad的装置仅检测由用户书写的信息,因此这种装置通常不能在根据预印信息识别印页的系统中使用。当把多个印页放置在数字化转换器上时,甚至连Reid-Green公开的系统也不能检测印页识别信息。例如,Reid-Green将只能够识别位于堆叠纸张底部的印页。Flickinger等人公开的装置也许能够阅读多个页面,但是这种装置需要增加未出现在CrossPad型装置上的(昂贵的)印页阅读机构。在数字化转换器中使用条形码阅读器或其它印页阅读机构增加了数字化转换器的成本和重量。
CrossPad装置的另一个缺点是纸张印页上书写标志的空间关系不同于基础“数字印页”上相应数字标志的空间关系。该偏差(“数字位移”)可以有几个毫米。
CrossPad型装置的另一个缺点起因于以下事实当使用一个印页时,该印页上的预印信息不是上载的数字墨水文件的部分。为了使数字墨水文件在上载后效率最佳,纸张印页上呈现的语境信息的图像,在使用的任何时间需要加到数字墨水图像上。这两个图像必须确实对准,以便可以重新建立具有在其上书写的信息的原始印页的图像。
因此,需要一种能够在CrossPad和类似装置上使用的印页的自动印页识别的系统,该系统不依赖印页上的预印信息。
此外,还需要这样一种系统,该系统不需要被集成到CrossPad型电子书写板上的一个笨重的LCD显示器(连同一个可编程微处理器)和触发器或者其它输入装置。
此外,还需要一种校正CrossPad型装置和其它数字化转换器的数字位移的方法和系统。还需要一种在具有基础印页的一个图像的印页上组合和对准手写信息的数字墨水图像的方法。
本发明还包括校正数字位移以及将数字墨水文件映射到数字印页上的方法。通常,一个数字化转换器板(例如,CrossPad或类似装置)会遭受一定量的数字位移-纸张印页上书写的相对位置与基础数字印页上相应数字标志的相对位置之间的空间差。数字位移量和方向对于每个板(以及在给定印页的任何地方)是恒定的,但是通常从一个板到另一个板各不相同。
优选实施例的软件通过参考给定印页上的已知界标确定数字位移量和方向。这样的一个界标在下面的讨论中最好是一个印页识别标志。在一个优选实施例中,印页标示符是一个圆圈。通过将纸张印页上印页标示符圆圈中央的已知位置与数字印页下部上相应数字标志的中心进行比较,确定数字位移,然后确定水平和垂直方向的偏差。一旦确定该数字位移,就把它作为校正因子应用于该印页的所有数字标记。
该校正因子便于手写数字墨水图像与基础印页的图像的对准。该对准首先通过识别在其上写入数字墨水数据的印页来实现。然后从数据库中取出被识别印页的预加载图像。该校正因子用来把墨水数据与数字印页对准。数字印页与数字墨水的校正对准能够使纸张印页的复制就像它被填写时那样。校正对准还能够使合成图像通过光学标志识别(OMR)、光学字符识别(OCR)以及存入数据库的图像片段进行处理。
本发明还包括一种创建印页的启动识别的方法和系统,用于创建未在其上预印印页识别标志的印页的启动识别。在本发明这一方面的一个优选实施例中,一个具有三毫米孔的金属或塑料引导器(guide)被粘贴在数字化转换器板的一侧,其中所述的三毫米孔位于该引导器的不同选择位置上。该引导器最好被粘贴在链接用户的一个预定位置上。将引导器固定到数字化转换器板一侧的预定位置上能够使用户在一个孔中制作标志,其中,该孔的位置对应于一个预印标志应当具有的位置。也就是,该标志具有塞满预印印页识别圆圈的一个标志应当有的相同位置。这允许预印没有印刷印页识别标志的印页的客户使用上述已公开系统剩余的印页。
发明的详细说明在一个优选实施例中,如图1所示,本发明的系统和方法与一个数字化转换器系统结合使用,该系统包括一个数字化转换器35,比如CrossPad;预印印页45;一个个人计算机25和附带软件。为了便于说明,这里所用术语“CrossPad”在这里涉及本发明可应用的任何数字化转换器板。本领域的熟练技术人员将会认识到该系统和方法可应用于任何数字化转换器系统,其中,可将一个印页放置在一个数字化转换器field中。此外,尽管在该说明中涉及纸张上印刷的印页,但本领域的熟练技术人员将会明白所公开的系统和方法同样适用于在其它媒介上实施的印页。例如,本公开的发明还工作于塑料叠层板或“电子纸”上的印页,比如,由Xerox公司(Palo Alto,California)开发的“Gyricon”产品,或者由E Ink(Cambridge,Massachusetts)公司开发的相同产品。
图1所示的数字化转换器系统的一般操作如下所示。预印的数据收集印页45被放置在CrossPad35上。用户使用CrossPad 35所需的特制笔将标志放置在印页45上。CrossPad 35将印页45上制作的标志记录为数字化图像。用户将CrossPad 35连接到计算机25上,CrossPad35把存储的图像发送给计算机25。在一个可替代实施例中,CrossPad35连接一个将Crosspad数据变换成互联网可兼容格式的变换器。该变换器经由互联网将变换的CrossPad数据发送给远端位置上的计算机。在任何一个实施例中,计算机25上存储的Crosspad图像由计算机上存储的软件处理。下面描述优选实施例所使用的印页和软件。
图2示出了优选实施例所使用的第一数据收集印页45。印页左页边距上的区域被保留用于印页识别。“Start Here”指示225提醒用户用于印页标识符的指示符230应当被填写(圆圈是指示符;通过填写圆圈制作的标志是印页标识符)。对于每个不同的印页,印页际识符指示符230位于区域210中的不同地方。
印刷优选实施例中所用的印页,使它们可以用于一个或多个数据输入系统。例如,如果用光扫描器扫描印页图像,则印页下右标线215和印页上左标线220用来对准印页的图像。
图3示出了在优选实施例中使用的第二数据收集印页。图3中的印页未显示标号,以便更清楚地显示优选实施例中使用的印页的外貌。需要说明的是,图3中印页的印页标识符指示符位于与图2所示印页标识符230不同的区域210的不同地方。
最好是,当用户每次在一个印页上开始书写时,该用户填写一个印页标识符指示符。然而,为了减少差错,在把CrossPad移交给一个第二用户之前,第一用户最好填写多个指示符。例如,第一用户可以使用包括用于所有印页的指示符的一个模板。如果使用印页1、3和6,第一用户将模板放置在CrossPad的模板上,并且填写用户印页1的指示符,敲击CrossPad上的Next Page按钮,填写用于印页3的指示符,再次敲击Next Page指示符,填写用于印页6的指示符。第一用户然后敲击Back Page按钮两次,并且将CrossPad与夹在其上的印页1、3和6传给第二用户。随后,第二用户可以填写印页1、3和6,但不需要填写适当的印页标识符指示符(尽管当第二用户逐印页翻页时,仍然需要按压Next和Back Page按钮)。
图4是一个流程图,显示了在一个优选实施例中使用的软件的操作。当CrossPad 35的用户填写印页标识符指示符230时,用于用户在印页上书写的任何其它信息的图像和位置数据将一起存入CrossPad存储器中。CrossPad把该信息存储为“墨水数据”,它是IBM拥有的数据格式,不过,也可以使用存储该数据的任何合适的格式。
在步骤410,用户通过把CrossPad插入一个连接到计算机的串行连接电缆(虽然也可以使用红外线、以太网或者其它连接装置)将收集的墨水数据上载到个人计算机上,并且按压CrossPad上的一个按钮。在一个可替代实施例中,墨水数据首先被传送给变换器,然后经由(最好是)互联网将数据发送给远端位置上的计算机。远端位置上的计算机可以是个人计算机,但是最好是服务器类型计算机(例如,一个互联网服务器),因为人们期望计算机从多个源中接收数据。
在步骤412上,个人计算机上存储的墨水传递程序接收所传递的墨水数据,在步骤415,将该数据作为墨水数据文件存储在计算机的硬件驱动器上。在一个优选实施例中,装备到Crosspad上的IBM InkManager Transfer程序执行该步骤,并创建称作“笔记本”的文件。
在上载该墨水数据文件之后,墨水传递程序发射墨水变换器程序(在这里,被称作TMDInkExec),步骤417。在步骤420,TMDInkExec读出上载的墨水数据文件,并且通过调用IBM供应的资料库中包含的墨水变换程序块,即IBM Electric Ink SDK,把墨水页面转换成非所有权的图像文件(比如,组4 TIFF,但是也可以使用其它格式)。TMDInkExec根据IBM Electric Ink SDK包含的文件中所含有的指令调用适当的墨水变换程序块。在一个可替代实施例中,步骤420上的从笔记本到非所有权图像格式的变换还可以在远端位置计算机上发生使用例如电子邮件或文件传递协议将墨水数据传递给远端计算机,然后远端计算机(或多个计算机)轮询接收队列(例如,电子邮件箱),并且执行步骤420,处理所接收的成批墨水数据。
一旦完成步骤420,。TMDInkExec程序422就通知第二程序,即TMDInkMonitor,进一步处理TIFF数据。在步骤424,TMDInkMonitor程序向墨水数据文件中的成批页面随意地分配或确认一个主题ID(例如,如果这些页面是为一个特定病人填写的印页,则应当输入该病人的ID)。如果使用一个扫描器替代CrossPad,则可以把一个主题ID标签粘贴到印页上,该主题ID标签辨别由系统分配的识别号码。如果用户未分配主题ID(CrossPad也为记录该主题ID),则TMDInkMonitor程序分配一个默认主题ID(最好是在前主题ID递增1)。
在步骤426,将整批上载ID分配给相应的整批TIFF图像文件,在步骤428,借助整批上载ID和主题ID将TIFF数据写入一个数据库。然后在步骤430,TIFF数据文件由一个识别引擎从数据库中复制出并进行处理,该识别引擎采用OMR(光标记阅读,或光标记辨别)技术将图像转换成已识别数据。一种识别引擎是软件,该软件提供服务于另一个软件模块的确认文件集,或者提供将图像数据转换成(识别)计算机可读文本的程序。在一个优选实施例中,可以使用Caere公司(Los Gatos,California)出售的Caere Developer’s Kit 2000识别引擎,但是众多识别软件可从市场上得到(例如,可以从加利福尼亚,圣地亚哥的Mitek Systems,Inc.,和明尼苏达,明尼爱普斯的NationalComputer System,Inc.得到),在一个优选实施例中,本领域的熟练技术人员还可以使用这些识别软件。
在步骤432,TMDInkMonitor调用一个Form ID确定程序块,该程序块驱动对应于已识别数据的印页ID。图5和图6示出了由Form ID确定程序块执行的步骤。
印页ID确定程序块使用OMR识别程序块和OMR填写方法。识别程序块是软件,它符合识别引擎的规范并且将不同类型的图像数据转换成计算机可读文本,填写方法规定期望出现在一个区域之内的图像数据的类型。某些填写方法与一个唯一的识别程序块相关联;其它填写方法则由一个以上的识别程序块支持。填写方法的某些实例是多字体机器打印,OMR,手写印刷体,条形码,点阵打印,OCRA和盲文。
区域是一个图像区域,直至整个页面,包括用户感兴趣的字符。在一个优选实施例中,所述区域是矩形的,但是本领域的熟练技术人员将会认识到也可以使用不同形状的区域。区域所覆盖的图像数据被分别处置和处理。一般的区域类型是图形(不识别)、文本和诸如条形码或OMR的其它区域。为了便于区域面积中的图像数据的识别,根据每个区域将包含的预期信息为每个区域分配所有权。基本的区域所有权是x-y坐标、大小、识别程序块、滤波器、语言字典和用户字典。语言字典是包含语言词汇元素加规则的一个文件,所述规则用于从语言词汇元素中生成单词。该文件可以用来在识别文本中标注非字典单词,或者把非字典单词变成可接受的单词。某些识别程序块参考语言字典,以协助它们作出识别决定。用户字典含有单词表、字符串和定义字形的正规表达,以补充语言字典文件的内容。一个或多个用户字典可以与一个特定区域相关联。用户字典中的正规表达通过指定字符类型、范围或者对一个区域中一个或多个字符位置有效的各个字符来定义允许的字形,以提高识别精度。正规表达还被称作掩模或模型。正规表达经常在印页类的情况下使用,其中区域内容处于某种可预言方式中。
印页识别区域模板(或,FIZT)用于从图像中识别印页。区域模板是一组指定和存储的区域或页面所有权(例如,对应于一个待识别的印页),用于以后在诸如盘文件或数据库记录的媒介中进行检索和处理。FIZT由一组被布置在栅格图形中的区域组成(参见图7)。滤波器可以加到区域级或印页级,以提高识别结果。滤波器是规约,依据所认为尽可能有效结果消除某些类别。滤波器的实例包括数字、大写字母、小写字母和标点符号。
由于主体发明利用了OMR技术,因此在另一个实施例中,非标准符号(比如,一个被圈绕的N-类似于符号)用来指示印页上有关信息。这种有关信息的实例包括剪贴区域;需要校正的信息;和对另一个数据文件的参考。
印页识别的区域被规定为从左至右和从从上至下,如图7的阴影号所示。每个区域相对应于一个印页属于的组中的印页号。按照区域之间具有足够空间布置这些区域,以便使错误印页识别的可能性最小化。作者将标记标在圆圈之外或者扫描印页时的偏斜将造成错误印页识别。一组中的每个印页被分配对应于其印页号的一个区域,并且在印页页面上的分配区域内预印一个未填写点(参见图2和图3)。一个表(“点映射”)将点号映射到印页组中的一个印页号。一个用于点映射的实例表如下所示
存储该“点映射”,以便以后在诸如数据库表或盘文件的存储媒介中进行检索。
参见图5,在步骤510,印页ID确定模块从标志检测区域中检索已识别数据。在步骤520,为第一已填满点和对应区域执行一个搜索,并在步骤530从区域定义中确定。在步骤540,从基于点号的点映射表中检索对应的印页号(例如,在上表中,点号‘1’对应印页ID号‘00300001-01’)。如果在步骤545上还未确定印页ID号,则在步骤550,向用户显示一个页面的基于墨水数据的图像,并且在步骤555,提示用户输入适当的印页ID号。在步骤560,用户输入印页ID号。尽管一个优选实施例使用了号码(数字)识别印页,但本领域的熟练技术人员将会认识到也可以使用字母数字或其它符号。图5所示的处理在某些方面被更详细地显示在图14中。
参见图6,在印页ID号由系统确定后,或者由一个用户输入后,执行步骤645。在步骤645,根据印页ID号进一步识别数据(例如,应用光字符识别,或者手写印刷体识别-也称作ICR,用于智能字符识别;识别的优选方法在图12中示出),在步骤650,将写入图像的印页的识别数据和ID号作为一个未审核文件存入数据库中。识别数据根据印页的类别进行组织,并且任意地显示在用户的检查屏幕上。数据以诸如一个表的格式来显示,以便于检查。在步骤660,用户检查和确认检查屏幕上的每个识别数据元素,适当时,对其进行校正。在一个优选实施例中,图形用户接口(GUI)810(参见图8)能够使用户按照“上下文定向”观看数据例如,如果某些数据未被识别,则用户可以有一个在屏幕上显示的纸张印页的一部分的图像,具有重叠在该纸张印页的图像上的该页面的墨水数据的一个图像,以便向用户呈现一个被书写纸张印页的一部分的屏幕图像。这能够使用户检查和确认数据元素,而不呈现被书写的印页,并且能够使用观看被书写纸张印页的所有图像,这又能使操作员在一个远端站点(该远端站点是从书写纸张印页的该站点定位的)进行检查和确认,此外,当数据是例如医学报告时,印页上手写的上下文定向屏幕观看能够使用户重建作者作出该报告使的心态(语气),以及患者的个性。
在步骤665,将检查的数据保存到数据库中。
图9示出了优选印页对准处理的一个概况。在步骤910,执行与文本相关联的图5和图6所示的印页识别处理,。在步骤915,如果印页识别步骤910不成功,则在步骤920,印页对准处理中止,该印页被标注为“未知”。
如果印页识别步骤910是成功的,那么在步骤925,对于墨水图像泡执行一个定位墨水泡中心处理(参见图10和图11和关联的文本)。该步骤导致计算墨水图像泡的坐标(XlnkCenter,YlnkCenter)。
在步骤925之后,计算基准泡与墨水图像泡之间的偏移(XOffset,YOffset)XOffset=XlnkCenter-XMast;YOffset=YlnkCenter-Y。XMast和YMast在图10中分别由X0和Y0表示。
在步骤940,执行墨水对准将XOffset和YOffset值应用于墨水图像,并由此位移图像。
在步骤950,识别已对准的墨水图像(参见图12和相关联的文本)。最后,在步骤960,将识别的已对准墨水图像与基准图像(已识别印页的存储图像)合并。
图10示出了在优选的定位墨水泡中心处理中利用的坐标和区域界定,图11示出了处理步骤。
参见图10,所示的坐标系统具有沿向下方向增加的y坐际。基准搜索区域1020由识别的印页和印页识别区域模板来确定。由于该印页被识别,因此在一个特定基准泡区域1010内找到以(Xlnk,Ylnk)为圆心的墨水泡圆圈1030。基准泡区域1010是使基准泡具有中心(X0,Y0),该中心也是基准包膜墨水区域1010的中心。基准搜索区域1020是这样确定的将墨水泡区域1010沿每个方向(左和右)水平延伸一个距离Xexpand以及沿每个方向(上和下)垂直延伸一个距离Yexpand。
因而,基准搜索区域1020是一个矩形,具有角坐标(X1,Y1)(上左角),(X2,Y1)(上右角),(X2,Y2)(下右角),和(X1,Y2)(下左角)。
定位墨水中心处理被显示在图11中。在步骤1105,初始化变量。BubbleZoneLeft是泡区域1010左侧的x坐标。BubbleZoneRight是泡区域1010右侧的x坐标。BubbleZoneTop是泡区域1010顶侧的y坐标。BubbleZoneBottom是泡区域1010底侧的y坐标。变量YScan被设置为Y1。
变量YTop、YBottom、XLeft和XRight最初被分别设置为Y2、Y1、X2和X1。在定位墨水泡中心处理的结尾,变量YBottom将含有墨水泡1030的y坐标的值,XLeft将含有墨水泡1030的左侧的x坐标的值,XRight将含有墨水泡1030的右侧的y坐标的值。需要注意的是,该处理是很粗的,即使墨水泡1030不是一个完全的圆盘,该处理也将确定墨水泡1030的“中心”。
在步骤1110,变量XScan被设置到X1。在步骤1115,进行一个检验,检验一个黑色像素是否位于基准搜索区域1020的上左角(XScan,YScan)(最初位于(X1,Y1))。如果如果答案是否定的,则在步骤1160递增变量XScan。如果在步骤1165上检验到值,则该递增不会导致一个大于X2的值(即,如果该扫描未达到基准搜索区域1020的右侧,则重复步骤1115)。如果在步骤1165上,步骤1160上的变量XScan的递增导致XScan具有大于X2的值,那么在步骤1170上递增变量YScan。如果在步骤1175上检验到值时YScan的值大于Y2,那么,在步骤1180上计算XlnkCenter和YlnkCenter。如果在步骤1175上YScan的值不大于Y2,则重复步骤1110。软件从左到右和从上到下扫描基准收缩区域1020。
如果步骤1115上的回答是肯定的,则在步骤1120上进行一个检验,检验变量YScan的当前值是否小于YTop的当前值。如果是,则在步骤1125上将YTop设置为等于YScan。从而找到墨水泡1030的顶端,并且把它的y坐标确定为YScan的当前值。如果步骤1120上的回答是否定的,则执行步骤1130,如果步骤1120上的答复是肯定的,则执行步骤1125。
在步骤1130上,进行一个检验,以便检验XScan的当前值是否小于XLeft的当前值。如果回答是肯定的,则在步骤1150上将XRight设置为等于XScan。如果步骤1130上答案是肯定的,则执行步骤1145,如果步骤1130上的答案是否定的,则执行步骤1145。
在步骤1145上,进行一个检验,以便检验XScan是否大于XRight,如果答案是肯定的,则在步骤1150上将XRight设置为等于XScan。如果步骤1145上答案是否定的,则执行步骤1155,如果步骤1145上的答案是肯定的,则执行步骤1150。在步骤1155上,YBottom被设置为等于YScan。如上所述,步骤1160跟随步骤1155。当处理继续进行时,YTop的值递减,直至它反映了墨水泡1030中最上端像素的y坐标的值;YBottom的值递增,直至它反映了墨水泡1030中最下端像素的y坐标的值;YLeft的值递减,直至它反映了墨水泡1030中最左端像素的x坐标的值;YRight的值递增,直至它反映了墨水泡1030中最右端像素的x坐标的值;这样,当最后到达步骤1180时,XlnkCenter(=(XLeft+XRight)/2)和YlnkCenter(=(YTop+YBottom)/2)的计算将精确地确定墨水泡1030的中心位置(如果墨水泡1030形成一个理想的圆盘的话),并且在任何情况下适当地近似(估计)墨水泡1030的中心。这种确定墨水泡1030中心的方法仅仅是一个优选实施例。不能用来限定权利要求所述的本发明的范围。本领域的熟练技术人员将会认识到存在各种已知的确定不规则形状的二维对象中心的方法,在不背离本发明公开范围的条件下,可以用这些方法替代上述方法。
返回图9,在步骤930,使用公式XOffset=XlnkCenter-XMast和YOffset=YlnkCenter-YMast计算墨水泡1030与基准泡(具有中心(XMast,YMast))之间的偏差。然后应用值XOffset和YOffset移位墨水图像。例如,如果XOffset为正而YOffset为负,则将墨水图像向左位移一个距离|XOffset|,以及向下位移一个距离|YOffset|。
最好按照像素数目测量距离。这样,在一个优选实施例中,用|XOffset|像素水平地移动墨水图像像素,以及用|YOffset|像素垂直地移动墨水图像像素。下面的C++码示出了执行墨水图像位移的优选方法<pre listing-type="program-listing"><![CDATA[////////////////////////////////////////////////////////功能计算泡偏移////计算自动对准偏移的算法//参数// in// hllmg BITMAPHANDLE*具有包含泡的墨水像素// iBubbleTop 泡基准区域顶部的Y坐标// iBubbleLeft泡基准区域左部的X坐标// iBubbleBottom 泡基准区域底部的Y坐标// iBubbleRight 泡基准区域右部的X坐标//// out// *piOffsetX 设置到计算的XOffset或者作为默认值的0// *piOffsetY 设置到计算的YOffset或者作为默认值的0//如果未发现泡,则返回到0//如果发现泡,则返回到1//int CalculateBubbleOffset( BITMAPHANDLE *hllmg,   int iBubbleTop,   int iBubbleLeft,   int iBubbleBottom,   int iBubbleRight,   int*piOffsetX,int*piOffsetY){  #定义EXPAND_Y 50//Y方向的基准搜索区域  #定义EXPAND_X 40//X方向的基准搜索区域  #定义ALIGN_THRESHOLD 50//像素的最大允许自动对准  int iRetuen=0  //最初没有偏移  piOffsetX=*piOffsetY=0;  COLORREF cr;  int x,y;  int iMinY=-1;  int iMinX=-1;  int iMaxY=-1;  int iMaxX=-1;  int iStartY=__max(iBubbleTop-EXPAND_y,0);  int iStartX=__max(iBubbleLeft-EXPAND_x,0);  int iEndY=iBubbleBottom+EXPAND_y;  int iEndX=iBubbleRight+EXPAND_x;  bool bFound=错误;  对于(y=iStartY;y<=iEndy;y++)  {  h=0;  对于(x=iStartX;x<=iEndX;x++)  {   //检查黑色像素   cr=GetPixelColor(hLlmg,y,x);   如果(cr==RGB(0,0,0))   {如果(!bFound)   bFound=正确;   //将所有坐标初始化到第一黑色像素   如果(iMinY==-1)   {   iMinY=y;   }   如果(iMaxY==-1)   {   iMaxY=y   }   如果(iMinX==-1)   {   iMinX=X;   {   如果(iMaxX==-1)   {   iMaxX=X;   {   //更新mins和maxes   如果(x>iMaxX)   iMaxX=x;   如果(x>iMaxY)   iMaXY=y;   如果(x<iMinX)   iMinX=x;   }  }}如果(bFound){  iReturn=1;  //计算墨水泡的中心(Xlnk,Ylnk)int iBubbleCenterX=iMinX+(iMaxX-iMinX);  int iBubbleCenterY=iMinY+(iMaxY-iMinY);  //计算基准泡的中心(X0,Y0)  int iReferenceCenterX=iBubbleLeft+(iBubbleRight-iBubbleLeft);  int iReferenceCenterY=iBubbleTop+(iBubbleBottom-iBubbleTop);  //计算自动印页对准偏移(XOffset,YOffset)  *piOffsetX=iBubbleCenterX-iReferenceCenterX;  *piOffsetY=iBubbleCenterY-iReferenceCenterY;  //使真实偏移不大于max  piOffsetX=__min(*plOffsetX,ALIGN_THRESHOLD);  piOffsetY=__min(*plOffsetY;ALIGN_THRESHOLD); }  其它 {  TRACE0(_T(”CalculateBubbleOffset no ink found in bubble  zone.\n”)); } 返回iReturn;}//结尾功能CalculateBubbleOffset///////////////////////////////////////////////////////////]]></pre>通过合并加载墨水与计划性建立的白页“空”图像偏移墨水像素。把像素结果设置到255最大值(白色)的逐位加算法被用来合并像素。下列代码执行该操作CombineBitmapPixels(&amp;bmpWhitePage,//建立的“白页”像素数据结构(还导致目的地)0, //白页像素的X源点0, //白色像素的Y源点BITMAPWIDTH(&amp;bmpWhitePage),//白页中的全部X像素
BITMAPHEIGHT(&amp;bmpWhitePage),//白页中的全部Y像素&amp;bmplnk,//加载的墨水象素数据结构iXOffset, //墨水象素的X源点(X偏移)iYOffset, //墨水象素的Y源点(Y偏移)CB_OP_ADD); //合并算法类型一旦墨水图像已经被位移(对准),OMR和OCR处理就进行(发生)-在步骤950识别已对准的图像。
图12示出了优选的墨水图像识别处理。在步骤1210,加载用于一个印页的字段定义文件。在步骤1220,将墨水图像加载到存储器中。在步骤1230,将字段定义文件和图像传送到用于识别的识别引擎,在步骤1240,将识别的结果保存到数据库上。
返回到图9,在步骤960用识别的(黑色)印页的基准图像对准已对准的被识别墨水图像。图13示出了该处理。在步骤1310将印页的基准图像加载到存储器中。在步骤1320,将墨水图像加载到存储器中。
在步骤1330,将墨水图像与基准图像合并。通过计划性地使用合并像素的逐位OR算法,将墨水象素与基准图像像素合并。以下代码执行该操作CombineBitmapPixels(&amp;bmplnk,//加载的墨水象素结构(还导致目的地)0, //墨水像素的X源点0, //墨水像素的Y源点BITMAPWIDTH(&amp;bmplnk), //墨水中的全部X像素BITMAPHEIGHT(&amp;bmplnk),//墨水中的全部Y像素&amp;bmpReference,//加载的基准象素数据结构0,//基准像素的X源点0,//墨水象素的Y源点CB_OP_OR);//合并算法类型最后,在步骤1340,将合并的图像保存到一个盘或其它存储媒介上。
图14示出了优选实施例的印页识别处理。该处理的某些处理还被显示在图5中。在步骤1410,将一个印页集Form ID区域定义文件加载到存储器中。在步骤1420,将一个墨水图像加载到存储器中。在步骤1425上,调用一个识别并且使用加载的区域定义和墨水图像。在步骤1430,将变量FormID调整到等于1。在步骤1435,进行一个检验,以便检验FormID上的识别结果中的字符等于1。如果等于1,则该印页已经被识别,并且在步骤1450结束该处理。如果不等于1,那么执行步骤1440,在该步骤中递增FormID。在步骤1445,进行一个检验,以便检查是否大于印页集中的印页的数量。如果是,则因为不识别印页而在步骤1455上结束处理。如果不是,则处理返回到步骤1435。
在本发明的另一个实施例中,使用未在其上印刷印页指示符的预印印页。为了能够使用这种印页,将一个模板(最好是金属或塑料模板)粘贴到数字化转换器板上。该模板作为一个印刷模板(参见图15)用户在引导器中的孔中填写;每个孔对应于不同的印页。按照这种方式,将上述的印页识别处理应用于未预印印页指示符的印页。
在一个优选实施例中,使用诸如图15所示的配置。模板最好是一个塑料覆盖板1510,该覆盖板套在数字化转换器板(最好是CrossPad或者其衍生物)上的侧部的纸张引导器上(参见图16,数字化转换器板在其左侧具有三个侧部纸张引导器1610)。模板1510最好具有三个槽1530,这三个槽能够使模板套在数字化转换器板上的三个凸起纸张引导器上。本领域的熟练技术人员将会认识到应当用其它的附着方法替代其它配置的数字化转换器板。例如,如果在数字化转换器板上仅存在一个凸起的纸张引导,并且位于板的右手侧,则模板1510应当具有沿其右侧设置的一个槽。
返回到图15所示的优选实施例,三个槽1530相隔近似为(±2mm)48mm,宽为1mm,距模板1510的左边缘5mm,长度约为(±1mm)48mm。最顶端槽1530的顶部最好与模板1510的顶边缘相距15mm,最底端槽1530的底部最好与模板1510的底边缘相距15mm。
模板1310厚约为2mm,长约为273mm,宽约为27mm。每个印页指示符泡1520的直径最好为2.5mm,泡1520之间的最小的优选距离为4mm。
尽管所示和所述的实施例能够充分实现本发明的主题,但是应当理解显示这些实施例仅仅是用于举例说明的目的,而不是用于限制的目的。例如,可以容易地把CrossPad修改为使用户能够能够跳跃页面(例如,从页面14直接跳跃到页面3),以替代重复地敲击页上移和页下移按钮。
权利要求
1.一种预印印页的自动识别的方法,包括以下步骤(a)接收和存储描述一个在预印印页上人工制作的标志的位置的数据;(b)根据所述标志的位置识别所述印页。
2.根据权利要求1所述的方法,其中在步骤(a)中接收和存储的数据是数字化图像数据,该图像数据被计算机接收并且被存储在一个计算机存储媒介中。
3.根据权利要求2所述的方法,其中步骤(b)包括确定一个包括所述标志的所述位置的印页识别区域,以及确定对应于印页识别区域的印页。
4.根据权利要求3所述的方法,其中步骤(b)包括存储一个匹配印页识别区域与印页ID的表。
5.根据权利要求4所述的方法,其中步骤(b)还包括将所接收的数字化图像数据再形成一个将由一个识别引擎处理的格式;通过用所述识别引擎处理所述再形成的图像数据,将再形成的数字化图像数据转换成已识别数据;为一个或多个印页识别区域检索已识别数据;为包含标志的区域搜索所述检索的已识别数据;和通过匹配所述区域与印页ID来识别印页。
6.根据权利要求5所述的方法,还包括在计算机监视器上显示数字化图像数据的步骤,使用户能够人工地识别书写图像的印页。
7.根据权利要求6所述的方法,还包括在用户计算机监视器上以便于检查的格式显示识别数据的步骤。
8.根据权利要求7所述的方法,还包括显示叠加在识别的印页的一个图像上的数字化图像数据的步骤,以便显现印页的屏幕图像和写在印页上的图像。
9.根据权利要求8所述的方法,还包括通过将所述识别数据与被显示的叠加在识别印页的图像上的数字化图像数据相比较,检查所述识别数据的步骤。
10.一种预印印页识别的系统,包括a)一个数字化转换器;b)一个预印印页,包括所述印页才有的一个或多个预印指示符,以指示用户输入的一个或多个识别标识;和c)一个连接数据库的计算机处理器,用于i)接收在印页上制作了标志的一个或多个数字化图像,ii)识别由用户制作的一个或多个识别标志的存在或位置,和iii)根据所述一个或多个标志的位置识别印页。
11.预印印页的自动识别的计算机软件,包括a)接收和存储描述一个在预印印页上人工制作的标志的位置的数据的软件;b)根据所述标志的位置识别所述印页的软件。
12.根据权利要求11所述的软件,还包括存储一个匹配印页识别区域与印页ID的表的软件。
13.根据权利要求11所述的软件,其中所接收的和存储的数据是存储在一个计算机存储媒介中的数字化图像数据。
14.根据权利要求13所述的软件,还包括管理用于后续基准的所述数字化图像数据的软件。
15.根据权利要求14所述的软件,其中识别软件包括确定一个包括所述标志的所述位置的印页识别区域的软件,以及确定对应于印页识别区域的印页的软件。
16.根据权利要求15所述的软件,其中识别软件还包括这样的软件将所接收的数字化图像数据再形成一个将由一个识别引擎处理的格式;通过用所述识别引擎处理所述再形成的图像数据,将所述再形成的数字化图像数据转换成已识别数据;为一个或多个印页识别区域检索已识别数据;为包含标志的区域搜索所述检索的已识别数据;和通过匹配将所述区域与印页ID来识别印页。
17.根据权利要求16所述的软件,还包括在计算机监视器上显示数字化图像数据的软件,使用户能够人工地识别书写图像的印页。
18.根据权利要求17所述的软件,还包括在用户计算机监视器上以便于检查的格式显示已识别数据的软件。
19.根据权利要求18所述的软件,还包括显示叠加在识别印页的一个图像上的数字化图像数据的软件,以便显现印页的屏幕图像和写在印页上的图像。
20.根据权利要求19所述的软件,还包括通过将所述已识别数据与所显示的叠加在识别印页的图像上的数字化图像数据相比较,检查所述已识别数据的软件。
21.根据权利要求20所述的软件,还包括根据写在印页上的非标准符号辨别有关信息的软件。
22.一种处理数字化图像数据的方法,包括以下步骤(a)接收数字化图像数据;(b)确定所述数字化图像数据中所包括的第一标志的位置;(c)确定从所述第一标志到基准位置的距离和方向;(d)执行所述数字化图像数据的位移,其中所述位移以所述距离和方向为基础。
23.根据权利要求22所述的方法,其中所述数字化图像数据对应于置放在数字化转换器板式上的印页上所制作的标志。
24.根据权利要求23所述的方法,其中通过已经制作一个识别标志的一个区域的位置识别所述印页。
25.根据权利要求24所述的方法,其中所述第一标志是所述识别标志。
26.根据权利要求25所述的方法,其中所述识别标志近似为圆圈。
27.根据权利要求25所述的方法,其中所述第一标志的所述位置通过定位所述第一标志的中心来确定。
28.根据权利要求26所述的方法,其中所述第一标志的所述位置通过定位所述第一标志的中心来确定。
29.一种处理数字化图像数据的方法,包括以下步骤a)接收数字化图像数据;b)确定所述数字化图像数据中所包括的第一标志的位置;c)确定从所述第一标志到基准位置的距离和方向;d)执行所述数字化图像数据的位移,其中所述位移以所述距离和方向为基础;e)通过用一个识别引擎处理所述数字化图像数据,将所述位移数字化图像数据转换成识别图像数据;和f)合并所述识别图像数据与基准图像。
30.根据权利要求29所述的方法,其中所述数字化图像数据对应于置放在数字化转换器板上的印页上所制作的标志。
31.根据权利要求30所述的方法,其中所述基准图像是所述印页的一个图像。
32.根据权利要求31所述的方法,其中通过已经制作一个识别标志的一个区域的位置识别所述印页。
33.根据权利要求32所述的方法,其中所述第一标志是所述识别标志。
34.根据权利要求33所述的方法,其中所述识别标志近似为圆圈。
35.根据权利要求33所述的方法,其中所述第一标志的所述位置通过定位所述第一标志的中心来确定。
36.根据权利要求34所述的方法,其中所述第一标志的所述位置通过定位所述第一标志的中心来确定。
37.一种预印印页的自动识别的方法,包括以下步骤a)接收和存储描述一个在预印印页上人工制作的标志的位置的数据,其中所述标志通过在粘贴到数字化转换器板上的模板的一个孔中填写来制作所述标志;和b)根据所述标志的位置识别所述印页。
38.根据权利要求37所述的方法,其中在步骤(a)中接收和存储的数据是数字化图像数据,该图像数据被计算机接收并且被存储在一个计算机存储媒介中。
39.根据权利要求38所述的方法,其中步骤(b)包括确定一个包括所述标志的所述位置的印页识别区域,以及确定对应于印页识别区域的印页。
40.根据权利要求39所述的方法,其中步骤(b)包括存储一个匹配印页识别区域与印页ID的表。
41.根据权利要求40所述的方法,其中步骤(b)还包括将所接收的数字化图像数据再形成一个将由一个识别引擎处理的格式;通过用所述识别引擎处理所述再形成的图像数据,将再形成的数字化图像数据转换成已识别数据;为一个或多个印页识别区域检索已识别数据;为包含标志的区域搜索所述检索的已识别数据;和通过匹配所述区域与印页ID来识别印页。
42.根据权利要求41所述的方法,还包括在计算机监视器上显示数字化图像数据的步骤,使用户能够人工地识别书写图像的印页。
43.根据权利要求42所述的方法,还包括在用户计算机监视器上以便于检查的格式显示已识别数据的步骤。
44.根据权利要求43所述的方法,还包括显示叠加在识别的印页的一个图像上的数字化图像数据的步骤,以便显现印页的屏幕图像和写在印页上的图像。
45.根据权利要求44所述的方法,还包括通过将所述已识别数据与所显示的叠加在识别印页的图像上的数字化图像数据相比较,检查所述已识别数据的步骤。
46.一种预印印页识别的系统,包括a)一个数字化转换器;b)一个预印印页,c)一个粘贴在所述数字化转换器上的模板,所述模板包括一个或多个孔,用户通过所述孔输入识别所述印页的一个或多个识别标记;和d)一个连接数据库的计算机处理器,用于i)接收在印页上制作了标志的一个或多个数字化图像,ii)识别由用户制作的一个或多个识别标志的存在或位置,和iii)根据所述一个或多个标志的位置识别印页。
47.预印印页的自动识别的计算机软件,包括a)接收和存储描述一个在预印印页上人工制作的标志的位置的数据的软件,所述标志是通过在一个模板的一个或多个孔中填写制作的;和c)根据所述标志的位置识别所述印页的软件。
48.根据权利要求47所述的软件,还包括存储一个匹配印页识别区域与印页ID的表的软件。
49.根据权利要求47所述的软件,其中所接收的和存储的数据是存储在一个计算机存储媒介中的数字化图像数据。
50.根据权利要求49所述的软件,还包括管理用于后续基准的所述数字化图像数据的软件。
51.根据权利要求50所述的软件,其中识别软件包括确定一个包括所述标志的所述位置的印页识别区域的软件,以及确定对应于印页识别区域的印页的软件。
52.根据权利要求51所述的软件,其中识别软件还包括这样的软件将所接收的数字化图像数据再形成一个由一个识别引擎处理的格式;通过用所述识别引擎处理所述再形成的图像数据,将所述再形成的数字化图像数据转换成已识别数据;为一个或多个印页识别区域检索已识别数据;为包含标志的区域搜索所述检索的已识别数据;和通过匹配将所述区域与印页ID来识别印页。
53.根据权利要求52所述的软件,还包括在计算机监视器上显示数字化图像数据的软件,使用户能够人工地识别书写图像的印页。
54.根据权利要求53所述的软件,还包括在用户计算机监视器上以便于检查的格式显示已识别数据的软件。
55.根据权利要求54所述的软件,还包括显示叠加在识别印页的一个图像上的数字化图像数据的软件,以便显现印页的屏幕图像和写在印页上的图像。
56.根据权利要求55所述的软件,还包括通过将所述已识别数据与所显示的叠加在识别印页的图像上的数字化图像数据相比较,检查所述已识别数据的软件。
57.根据权利要求56所述的软件,还包括根据写在印页上的非标准符号辨别有关信息的软件。
全文摘要
一种预印印页(45)的自动识别的方法和系统,根据印页(45)上人工制作的一个标志(230)的位置进行自动识别。该方法包括以下步骤接收数字化墨水图像数据(412),识别标志(230)的存在和位置,确定接收的墨水数据与存储的印页图像之间的任何未对准,并且位移墨水数据,以校正未对准。系统包括一个数字化转换器(35)和一个预印印页(45),预印印页(45)包括只有该印页才有的一个或多个预印的指示符,该指示符指示用户输入一个或多个识别标志(221,230)。数字化转换器(35)将图像数据发送给连接数据库的计算机处理器(25),包括在一个印页上制作了标志的一个或多个数字化图像。处理器(25)识别由用户制作的一个或多个识别标志的存在和位置,并且根据所述一个或多个标志的位置识别印页。
文档编号G06K9/20GK1429450SQ01803614
公开日2003年7月9日 申请日期2001年1月9日 优先权日2000年1月11日
发明者A·P·伯格森, S·范思克, D·格森伯格, A·小列农, S·B·里德 申请人:蒂姆布尔系统公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1