專利名稱:用于內容識別的系統(tǒng)和方法
技術領域:
本發(fā)明涉及掃描圖像分割,具體上涉及識別在被掃描的文件中的文本、圖像和藝術線條內容。
背景技術:
諸如絕版(out-of-print)書籍之類的硬拷貝文件的傳統(tǒng)數字化是緩慢和困難的。部分地,所述困難起因于識別在給定文件中的各種類型內容的需要。一些典型內容類型是文本、圖像和藝術線條。文本一般包括具有一致大小的小字符或符號。藝術線條一般包括線條和圖案的繪制圖。圖像一般包括具有許多中間級(諸如灰度)來描繪某個畫面的畫面。文本和藝術線條基本上是雙級的(例如黑和白)。相反,圖像具有更多的半色調形式的灰度級(例如在8位系統(tǒng)中的256級)(例如,近似于中間色或陰影——諸如灰色——的空間分布的高分辨率像素)。
術語“掃描內容”在此用于指被掃描和數字化的任何內容。術語“圖像內容”指在掃描內容中的特定類型的內容、半色調圖像。其他類型的內容包括文本和藝術線條,如上所述。為了保持掃描內容的優(yōu)質再現,可以不同的方式來處理不同的內容類型。但是,為了以不同的方式來處理不同的內容類型,可能需要首先識別每個內容類型。
一種傳統(tǒng)的掃描技術使用在文件中的不同內容類型的人工識別。例如,一個人在內容段周圍物理地繪制矩形限制的方框或其他標識符,以指示應當以某種方式來處理所述被限制的內容。內容段指具有一致內容類型的掃描文件或掃描內容的一部分??梢园凑漳J處理模式來處理在所述限制方框之外的內容。因此,在一個示例中,一個人可以在半色調圖像段周圍而不是在文本段周圍繪制矩形限制方框。所述半色調圖像可以被去遮蔽(descreen)以去除半色調,并且可以將文本簡單地按比例放大到較高的分辨率,并且將閾值按比例變?yōu)閮杉?。傳統(tǒng)的去遮蔽使用用于將半色調平滑為共色(contone)圖像的算法。不幸的是,這種用于在圖像周圍繪制矩形限制方框的傳統(tǒng)方法緩慢并且成本大。
另一種傳統(tǒng)的掃描技術使用局部優(yōu)化。局部優(yōu)化使用在掃描內容中的局部信息,確定是否應當將內容段當作兩級文本和藝術線條或半色調圖像。但是,局部優(yōu)化沒有足夠的信息來將掃描文件分割為可以按照每個段的內容類型而不同地處理的獨立內容段。結果,局部優(yōu)化掃描技術可導致降低的圖像質量。
從上述的討論應當清楚的是,需要一種用于克服傳統(tǒng)掃描分段技術的裝置、系統(tǒng)和方法。有益的是,這樣的裝置、系統(tǒng)和方法將比人工分段更快和簡單。另外,這樣的裝置、系統(tǒng)和方法將比局部優(yōu)化技術更準確。
發(fā)明內容
響應于本領域的當前狀態(tài),具體上響應于還沒有由當前的掃描分段技術完全解決的本領域內的問題和需要,已經開發(fā)了本發(fā)明的幾個實施例。因此,本發(fā)明已經被開發(fā)來提供一種用于掃描分段的裝置、系統(tǒng)和方法,其克服了在本領域內的許多或全部上述缺陷。
本發(fā)明的各實施例便于掃描分段。具體上,某些實施例自動化掃描分段,包括識別段和每個段的內容類型。
用于識別在掃描內容中的內容的裝置配備邏輯單元,它包括多個模塊,它們被配置來在功能上執(zhí)行掃描分段所需要的操作。在所述實施例中的這些模塊包括圖像模塊、修改模塊、識別模塊、分段模塊、面積計算模塊、面積比較模塊、子圖像模塊、直方圖計算模塊、直方圖比較模塊和相鄰模塊。
在一個實施例中,所述圖像模塊訪問掃描內容數據集。所述掃描內容數據集可以作為修改內容數據集的基礎,所述修改內容數據集繼而可以用于識別掃描內容的可能內容類型。
在一個實施例中,所述修改模塊從掃描內容數據集建立修改內容數據集。為了建立修改內容數據集,修改模塊可以向掃描內容數據集應用數學函數。在一個實施例中,所述修改模塊向掃描內容數據集應用S形函數,以便建立修改內容數據集。
在一個實施例中,所述識別模塊識別在修改內容數據集內的內容段。所述識別模塊可以使用8相鄰連接性確定來識別修改內容數據集的內容段。
在一個實施例中,所述分段模塊識別在修改內容數據集內的內容段的內容段類型。對應地,所述分段模塊識別掃描內容數據集的內容段的內容段類型。在一個實施例中,所述分段模塊響應于所計算的段表面面積小于預定的最小圖像表面面積的判定,將內容段的內容段類型識別為文本。
在一個實施例中,如果所述段表面面積不小于預定的最小圖像表面面積,則分段模塊響應于修改內容直方圖類似于掃描內容直方圖的判定,將內容段的內容段類型識別為藝術線條。否則,所述分段模塊可以響應于所述修改內容直方圖不類似于掃描內容直方圖的判定,將內容段的內容段類型識別為圖像?;蛘?,所述分段模塊可以將所述內容段類型識別為另一內容類型。
在一個實施例中,所述面積計算模塊計算在修改內容數據集內的內容段的段表面面積。在一個實施例中,所述面積比較模塊將所計算的內容段的段表面面積與預定的最小圖像表面面積相比較。
在一個實施例中,所述子圖像模塊定義子圖像窗口,它包括其大小被確定為等于或大于所述最小圖像表面面積的內容段。所述子圖像窗口可以用于識別修改內容數據集的數據的一部分或掃描內容數據集的對應部分。在一個實施例中,所述子圖像窗口可以是矩形的,其寬度和高度近似等于但是略大于所選擇的內容段的所計算的寬度和高度?;蛘撸鲎訄D像窗口可以使用其他形狀的各種大小或輪廓。
在一個實施例中,所述直方圖計算模塊計算用于描述掃描內容數據集的掃描內容直方圖。具體上,所述直方圖計算模塊可以計算對應于被應用到掃描內容數據集的子圖像窗口的掃描內容直方圖。類似地,所述直方圖計算模塊可以計算對應于被應用到修改內容數據集的子圖像窗口的修改內容直方圖。在一個實施例中,所述直方圖比較模塊將修改內容直方圖與掃描內容直方圖相比較。
在一個實施例中,所述相鄰模塊將預定范圍的像素值轉換為在預定范圍內的單個像素值。換句話說,所述相鄰模塊向在某組像素值內的每個像素分配單個像素值。所述相鄰模塊可以對于對應于單色通道或多色通道的修改內容數據集執(zhí)行這樣的分組操作。
一種本發(fā)明的系統(tǒng)也被提供來識別在掃描文件內的內容。所述系統(tǒng)可以被體現為具有掃描器、電子存儲器件和分段裝置的掃描器系統(tǒng)。所述掃描器捕獲和數字化具有內容段的掃描內容。所述電子數據存儲器件存儲用于描述所述數字化的掃描內容的掃描內容數據集。所述分段裝置識別內容段的內容段類型。所述系統(tǒng)也可包括用戶界面、捕獲模塊和數字化模塊。
一種信號承載介質也被提供來存儲程序,所述程序當被執(zhí)行時執(zhí)行識別在掃描內容內的內容的操作。在一個實施例中,所述操作包括通過向掃描內容數據集應用S形函數來建立修改內容數據集;識別在修改內容數據集內的內容段;并且在修改的掃描數據和原始掃描數據之間比較數據。
在進一步的實施例中,所述操作可以包括確定與基本上黑色的像素的8相鄰連接性,并且識別在所述內容段內的所有像素。在進一步的實施例中,所述操作可以包括計算在修改內容數據集內的內容段的段表面面積,將所述段表面面積與最小的圖像表面面積相比較;并且/或者響應于所述段表面面積小于所述最小圖像表面面積的判定,將內容段的內容段類型識別為文本。
在進一步的實施例中,所述操作可以包括響應于內容段不是文本的判定,定義包括內容段的子圖像窗口;計算對應于所述子圖像窗口的掃描內容直方圖;計算對應于子圖像窗口的修改的掃描內容直方圖;并且/或者,將修改的掃描內容直方圖與所述掃描內容直方圖相比較。在進一步的實施例中,所述操作可以包括響應于所述修改的掃描內容直方圖類似于所述掃描內容直方圖的判定,將內容段的內容段類型識別為藝術線條;響應于所述修改的掃描內容直方圖不類似于所述掃描內容直方圖的判定,將內容段的內容段類型識別為圖像;并且/或者,將預定范圍的像素值轉換為在所述預定范圍的像素值內的單個像素值。
有益的是,所提供的實施例自動地識別掃描內容的段,并且識別每個段的內容類型。各個段的內容類型的識別便于按照其內容類型而適當地處理每個段。另外,這樣的掃描分段提高了掃描數字化和再現的質量。
遍及本說明書對于特征、優(yōu)點或類似的語言的引用,不意味著可以使用本發(fā)明實現的所有特征和優(yōu)點應當處于或處于本發(fā)明的任何單個實施例中。而是,引用所述特征和優(yōu)點的語言被明白表示結合一個實施例所述的具體特征、優(yōu)點或特性被包括在本發(fā)明的至少一個實施例中。因此,遍及本說明書對于特征和優(yōu)點和類似的語言的討論可以但不必然指向同一實施例。
而且,可以在一個或多個實施例中以任何適當的方式來組合本發(fā)明的所述特征、優(yōu)點和特性。本領域內的技術人員將會認識到可以在沒有特定實施例的一個或多個具體特征或優(yōu)點的情況下實踐本發(fā)明。在其他情況下,在某些實施例中可識別本發(fā)明的所有實施例中可能未提供的另外的特征和優(yōu)點。
本發(fā)明的這些特征和優(yōu)點通過下面的說明和權利要求將變得更充分清楚,或者可以通過實踐如以下給出的本發(fā)明來獲知。
為了會容易地了解本發(fā)明的優(yōu)點,將通過參見在附圖中圖解的具體實施例,提供如上簡述的本發(fā)明的更具體的說明。在了解這些附圖僅僅描述本發(fā)明的典型實施例、因此不被視為限制其范圍的情況下,將通過使用附圖來額外具體和詳細地描述和解釋本發(fā)明,附圖中圖1是圖解掃描器系統(tǒng)的一個實施例的示意方框圖;圖2是圖解分段裝置的一個實施例的示意方框圖;圖3是圖解具有各種類型的內容的文件的一個實施例的示意方框圖;圖4是圖解S形函數的一個實施例的示意曲線圖;圖5是圖解像素陣列的一個實施例的示意方框圖;圖6是圖解分段方法的一個實施例的示意流程圖;圖7是圖解分段識別方法的一個實施例的示意流程圖;以及圖8是圖解類型識別方法的一個實施例的示意流程圖。
具體實施例方式
在本說明書中所述的許多功能單元已經被標注為模塊,以便更具體地強調它們的實現獨立性。例如,可以將模塊實現為硬件電路,它包括定制的VLSI(超大規(guī)模集成電路)或門陣列、諸如邏輯芯片、晶體管或其他離散分段的現成半導體。模塊也可以被實現在可編程硬件器件中,諸如現場可編程門陣列、可編程陣列邏輯或可編程邏輯器件等。
也可以以通過各種類型的處理器執(zhí)行的軟件來實現模塊??蓤?zhí)行代碼的被識別模塊可以例如包括計算機指令的一個或多個物理或者邏輯塊,其例如被組織為對象、過程或功能。盡管如此,被識別模塊的可執(zhí)行部分不必物理地位于一起,而是可以包括在不同位置存儲的全異指令,其當在邏輯上結合在一起時包括所述模塊,并且實現所述模塊的所述目的。
事實上,可執(zhí)行代碼的模塊可以是單個指令或多個指令,并且可以甚至被分布在幾個不同的代碼段上、在不同的程序之間和跨越幾個存儲器件。類似地,操作數據可以在此在各模塊內被識別和圖解,并且可以以任何適當的形式被體現并且被組織在任何適當類型的數據結構中。所述操作數據可以被匯集為單個數據集,或者可以被分布在包括不同存儲器件上的不同位置上,并且可以至少部分地僅僅作為在系統(tǒng)或網絡上的電子信號存在。
圖1說明了掃描器系統(tǒng)100的一個實施例。所圖解的掃描器系統(tǒng)100包括中央處理單元(CPU)102,用戶界面104和電子存儲器件106。所圖解的掃描器系統(tǒng)100也包括捕獲模塊108、數字化模塊110和分段裝置112。
CPU 102處理算術和邏輯運算以及控制指令。在一個實施例中,用戶界面104包括硬件和軟件,以便于向掃描器系統(tǒng)100中輸入用戶命令以及向用戶顯示或另外通信來自掃描器系統(tǒng)100的信息。用戶界面104可以包括硬件和軟件,所述硬件諸如鍵盤、可視顯示器等,所述軟件諸如命令提示、圖形用戶界面(GUI)、菜單等。
捕獲模塊108便于使用硬件和/或軟件來捕獲文件圖像。類似地,數字化模塊110便于建立所捕獲的文件的數字化圖像。所述文件的數字化圖像在此被稱為掃描內容。在一個實施例中,掃描內容被表示為用于描述在掃描內容內的許多獨立像素的掃描內容數據集114。掃描內容數據集114可以如圖所示被存儲在電子存儲器件106中或另一電子存儲器件中。電子存儲器件106或其他的電子存儲器件可以是掃描器系統(tǒng)100本地的,如圖所示,或者可以位于掃描器系統(tǒng)100的遠處。
當在掃描內容數據集114中以諸如黑色之類的單色通道來表示掃描內容時,每個像素可以具有對應于相關聯的像素的灰度級的單色調值?;蛘撸斖ㄟ^諸如紅色、綠色和藍色之類的多色通道來表示掃描內容時,每個像素可以具有對應于相關聯的像素的每個色調級的色調值。在一個實施例中,色調的色調值在8位系統(tǒng)中在0和255之間。例如,0可以表示黑色,255可以表示白色,并且在0和255之間的中間值可以表示特定級的灰色、紅色、藍色或綠色?;蛘撸錾{值的范圍可小于或大于8位系統(tǒng)中的色調值的范圍。
分段裝置112便于將掃描內容自動地分割為不同的內容類型,諸如文本、藝術線條和圖像。如在此使用的,術語“圖像”與“掃描內容”區(qū)分地被使用來表示內容類型而不是文件本身的圖形表示。在某些實施例中,分段裝置112實現修改內容數據集(未示出),以便利掃描內容數據集114的分段。分段裝置112可以是對掃描器系統(tǒng)100本地的,如圖所示,或可以在掃描器系統(tǒng)100遠處。參見圖2而更詳細地示出和描述了分段裝置112的一個示例。
圖2描述了實際上可類似于圖1的分段裝置112的分段裝置200的一個實施例。所圖解的分段裝置200包括圖像模塊202、修改模塊204、識別模塊206、分段模塊208、面積計算模塊210、面積比較模塊212、子圖像模塊214、直方圖計算模塊216、直方圖比較模塊218和相鄰模塊220。除了下面馬上說明的之外,參見圖6-8的流程圖進一步說明這些模塊的每個的功能的實施例。
在一個實施例中,圖像模塊202訪問掃描內容數據集114。掃描內容數據集114可以作為修改內容數據集的基礎,所述修改內容數據集繼而可以用于識別掃描內容的可能內容類型。
在一個實施例中,修改模塊204從掃描內容數據集114建立修改內容數據集。以這種方式,掃描內容數據集114可以保持不變,同時操縱修改內容數據集以確定在掃描內容內的各個段的內容類型。如在此使用的,術語“段(segment)”表示在掃描內容內的一致內容類型的區(qū)域。在一個實施例中,可以通過與掃描內容的其他段的物理分離來識別段。例如,文本的一個段落可以由從藝術線條繪制的空白來分離。類似地,通過掃描文件內的間隔或邊緣,可以將畫面、圖形、圖表或圖像與文本分離。參見圖3,更詳細地示出和說明內容類型的一些示例。
為了建立修改內容數據集,修改模塊204可以向掃描內容數據集114應用數學函數。在一個實施例中,修改模塊204向掃描內容數據集114應用S形函數,以便建立修改內容數據集。參見圖4,更詳細地示出和說明S形函數的曲線圖的一個示例。
一般地,數學S形函數可以便于將數據向極性極端強制。在像素值的情況下,數學S形函數可以用于將掃描內容數據集114的中間值轉換為更接近0或255的新值。以這種方式,向掃描內容數據集114應用數學S形函數,可以便于在雙級段(例如文本和藝術線條)和半色調段(例如圖像)之間區(qū)分。數學S形函數的一個示例如下f(x)=(x128)n×128]]>0<x<128f(x)=255-(255-x127)n×127]]>128<x<255其中,n是用于確定S形函數的形狀的參數,x是掃描內容數據集114的像素的像素值,f(x)定義修改內容數據集的修改像素的對應修改像素值。在替代實施例中,可以使用數學S形函數的其他變形。在進一步的實施例中,修改模塊204可以應用類似于數學S形函數的其他函數,以便建立修改內容數據集。
在一個實施例中,識別模塊206分析所述修改內容數據集,以從掃描內容識別獨立的段。在一個實施例中,識別模塊206可以使用8相鄰連接性確定來識別修改內容數據集的內容段。一般地,8相鄰連接性的確定指分析所選擇的像素的相鄰像素,確定是否相鄰像素連接到所選擇的像素。換句話說,可以使用8相鄰連接性來確定一個段包括相鄰像素的程度。當通過多個迭代而擴展時,8相鄰連接性便于了內容段的周長的識別。參見圖5而說明關于8相鄰連接性的進一步的細節(jié)。
在一個實施例中,分段模塊208識別在修改內容數據集內的內容段的內容段類型。對應地,分段模塊208識別掃描內容數據集114的內容段的內容段類型。在一個實施例中,分段模塊208響應于判定所計算的段表面面積小于預定的最小圖像表面面積,識別內容段的內容段類型為文本。
在另一個實施例中,如果所述段表面面積不小于預定的最小圖像表面面積,則分段模塊208響應于修改內容直方圖類似于掃描內容直方圖的判定,將內容段的內容段類型識別為藝術線條。否則,分段模塊208可以響應于修改內容直方圖不類似于掃描內容直方圖的判定,將內容段的內容段類型識別為圖像。
在一個實施例中,面積計算模塊210計算在修改內容數據集內的內容段的段表面面積??梢砸远喾N方式來計算所述段表面面積。例如,可以通過相加在內容段內的“導通(on)”像素的總數而計算內容段的段表面面積。所述“導通”像素來自使用內容段的左、右、上、下坐標而建立的矩形限制方框的位圖。
在一個實施例中,面積比較模塊212將所計算的內容段的段表面面積與預定的最小圖像表面面積相比較。可以以像素、量度或描述可以與所計算的段表面面積相比較的最小圖像尺寸的任何其他量,表達所述最小圖像表面面積。在一個實施例中,預定的最小圖像表面面積的使用預先假定所有的非文本段將具有大于任何文本段的最大尺寸的最小尺寸。否則,可以將具有等于或大于最小圖像表面面積的表面面積的文本段處理為圖形而不是文本。但是,在給定識別和處理雙級圖形的能力的情況下,這樣的處理可能不會對于過大的文本的圖像質量有害,如下所述。
在一個實施例中,子圖像模塊214定義子圖像窗口,它包括被確定為等于或大于最小圖像表面面積的內容段。換句話說,如果內容段被確定為不是文本,則子圖像模塊214可以定義大約圍繞所述非文本段的子圖像窗口。所述子圖像窗口可以用于識別修改內容數據集的數據的一部分或掃描內容數據集114的對應部分。在一個實施例中,所述子圖像窗口可以是矩形的,其寬度和高度大約等于但是略大于所選擇的內容段的所計算的寬度和高度。參見圖3更詳細示出和說明子圖像窗口的一個示例。
在一個實施例中,直方圖計算模塊216計算用于描述掃描內容數據集114的掃描內容直方圖。具體上,直方圖計算模塊216可以計算對應于被應用到掃描內容數據集114的子圖像窗口的掃描內容直方圖。類似地,直方圖計算模塊216可以計算對應于被應用到修改內容數據集的子圖像窗口的修改內容直方圖。一般地,直方圖是被分析數據的不同灰度級的頻率分布的表示。
在一個實施例中,直方圖比較模塊218將修改內容直方圖與掃描內容直方圖相比較。如上所述,在所述直方圖之間的類似性可以被分段模塊208解釋為指示對應的內容段是雙級藝術線條,因為應用S形函數對于基本上黑和白的圖形有很小的影響?;蛘?,在所述直方圖之間的不類似性可以被分段模塊208解釋為指示對應的內容段是半色調圖像,因為S形函數的應用使得中間色調級圖像失真。
在一個實施例中,相鄰模塊220將預定范圍的像素值轉換為在所述預定范圍內的單個像素值。換句話說,相鄰模塊220向某組像素值內的每個像素分配單個像素值。例如,相鄰模塊220可以識別具有在0和10之間的像素值的、在掃描內容數據集114內的所有像素。然后相鄰模塊220可以使用黑色模塊222,向所有那些被識別的像素分配0值。以這種方式,假定是黑色的所有的像素實際上被分配為黑色。類似地,相鄰模塊220可以識別具有在245和255之間的像素值的所有像素,并且使用白色模塊224將它們轉換為255的值。相鄰模塊220也可以執(zhí)行彩色像素的類似操作,改變單個色調(例如紅色、綠色和藍色)或色調的組合。有益的是,相鄰模塊220可以提高掃描數據的動態(tài)范圍,并且去除噪音。
圖3描述了具有各種類型的內容的文件300的一個實施例。所圖解的文件300表示可掃描的文件,諸如來自書籍的頁面,它可以由掃描器系統(tǒng)100掃描。文件300也圖解可以被掃描內容數據集114表示的掃描內容302(由最外部的虛線示出)。
所述的文件300包括在可掃描的文件的區(qū)域內的三種不同的內容類型??蓲呙栉募淖钌厦娴膬热荻伟p級藝術線條內容??蓲呙栉募闹虚g的內容段包括雙級文本(由方框表示)。可掃描的文件的最低的內容段包括半色調圖像。
如在此所述,分段裝置200識別表示掃描內容的掃描內容數據集114的各種內容段。分段裝置200可以使用修改內容數據集來便利這樣的識別。分段裝置200也識別每個內容段的內容類型。在所述的實施例中,掃描內容數據集114包括三個內容段。藝術線條內容對應于藝術線條段304。文本內容對應于文本段306。在另一個實施例中,每個文本字符可以被定義為獨立文本段306。圖像內容對應于圖像段308。圖6-8的流程圖提供了分段裝置200可以執(zhí)行來識別每個內容段及其內容類型的操作的一個實施例的進一步的細節(jié)。
圖4描述了數學S形函數的一個實施例。S形函數的所圖解的圖形表示400僅僅是一個示例表示。其他類型的S形函數部分地根據所使用的常數,可以產生更多或更少線性的表示。雖然如上所述給出了數學S形函數的具體示例,參見圖2的說明,可以使用具有更少或更多的常數或其他數學項的其他數學函數。另外,可以線性地或按照其他方式調整一些數學S形函數,以容納在0和255之間的像素值的范圍。
所圖解的S形函數在修改內容數據集和掃描內容數據集114的像素值之間產生非線性關系。在給定所示出的示例S形函數的情況下,與掃描內容數據集114的對應像素相比較,可以將修改內容數據集的像素的像素值調整為更接近極性極端的任一個。
對于大約在值128之下的掃描內容數據集114的每個像素值,可以將修改內容數據集的對應像素的值調整為更接近值0?;蛘?,對于大約在值128之上的掃描內容數據集114的每個像素值,可以將修改內容數據集的對應像素的值調整為更接近值255。在一個實施例中,這種修改建立了修改內容數據集,它人為地將掃描器的動態(tài)像素值范圍(對于8位掃描器而言通常在大約20和230之間)擴展到更大的范圍(例如在0和255之間)。
圖5描述了用于說明8相鄰連接性的像素陣列500的一個實施例。像素陣列500包括一個中心像素P1和8個相鄰像素N1到N8。所選擇的像素P1基本上是黑色的。8相鄰連接性的概念用于確定所述相鄰像素N1到N8的哪個也基本上是黑色的(假定掃描內容包括相對于亮背景的黑色印刷)。
在一個實施例中,識別模塊206分析所述相鄰像素N1到N8的每個,并且確定哪些像素類似于所選擇的像素P1。可以通過比較每個像素的像素值來確定所述類似性?;蛘?,如果像素在像素值的預定范圍內,則可確定類似性。例如,可以將具有在230和255之間的像素值的任何像素確定為類似。在另一個示例中,可以將具有小于20的像素值的任何像素確定為類似。在所圖解的實施例中,識別模塊206可以確定相鄰像素N1、N2和N5到N8與所選擇的像素P1類似。
圖6描述了可以由分段裝置200與掃描器系統(tǒng)100結合來執(zhí)行的分段方法600的一個實施例。所圖解的分段方法600開始,并且修改模塊204建立(602)對應于掃描內容數據集114的修改內容數據集。所述修改內容數據集可以被存儲在電子存儲器件106上或在另一個電子存儲器件上。在一個實施例中,修改模塊204向掃描內容數據集114應用S形函數,以便建立修改內容數據集,如上所述。
使用所述修改內容數據集,然后識別模塊206識別(604)在所述修改內容數據集內的內容段?;蛘?,識別模塊206可以識別(604)在修改內容數據集內的所有內容段。在識別模塊206識別內容段后,然后分段模塊208根據所識別的內容段的內容而識別(606)內容段類型。在一個實施例中,分段模塊208將所述內容段類型識別為文本、藝術線條或圖像?;蛘?,分段模塊208可以更一般地(例如文本或畫面、圖形或雙級或半色調)或更具體地(例如文本、藝術線條和圖像的子類等)識別內容。然后所述的分段方法600結束。
圖7描述了通過圖6的分段方法600的段識別操作604的示例而給出的段識別方法700的一個實施例。所圖解的段識別方法700開始,并且識別模塊206識別(702)開始像素,如參見圖5的像素陣列500所述的被選擇像素P1。
然后識別模塊206確定(704)是否存在可以處理的更多的像素。如果存在,則識別模塊206確定(706)是否已經在組合的段像素周圍檢測到白色邊界(假定基本上黑色的內容段)。如果還沒有建立這樣的邊界,則識別模塊206確定(708)是否被處理的像素的面積超過定義總的處理面積的窗口大小,它對應于掃描內容302。
然后識別模塊206識別(710)所選擇的像素的相鄰像素。在一個實施例中,識別模塊206使用8相鄰連接性來識別(710)相鄰像素。對于被識別的相鄰像素,識別模塊206確定(712)哪些像素是基本上黑色的,并且調整(714)用于定義內容段的段窗口。當更多的黑色像素被識別為屬于特定的內容段時,對應的段窗口被擴展(714)以包括被識別的像素。
所圖解的段識別方法700迭代地繼續(xù)在段中選擇像素,直到滿足終止標準。當識別模塊206確定(704)已經處理了所有的像素、確定(706)已經對于所述段建立了白色邊界或確定(708)所處理的面積超過了像素處理窗口時,所描述的段識別方法700結束。
圖8描述了通過圖6的分段方法600的識別操作606的示例而給出的類型識別方法800的一個實施例。所圖解的類型識別方法800開始,并且識別模塊206識別(802)內容段之一,它可能已經按照如上所述的段識別方法700而被識別出。然后面積計算模塊210計算(804)所選擇的內容段的段表面面積。然后面積比較模塊212將所計算的段表面面積與預定的最小圖像表面面積相比較,以確定(806)是否所述段表面面積小于所述最小圖像表面面積。如果所述段表面面積小于所述最小圖像表面面積,則分段模塊208將所述段類型識別(808)為文本內容。
如果段表面面積不小于最小圖像表面面積,則子圖像模塊214定義(810)圍繞所述段的子圖像窗口。然后直方圖計算模塊216計算(812)對應于所述子圖像窗口的掃描內容數據集114的掃描內容直方圖。直方圖計算模塊216也計算(814)對應于所述子圖像窗口的修改內容數據集的修改內容直方圖。
直方圖比較模塊218隨后將修改內容直方圖和掃描內容直方圖相比較,以確定(816)是否所述直方圖是類似的。如果所述直方圖被確定(816)為類似的,則分段模塊208將所述段識別(818)為藝術線條內容。否則,如果所述直方圖被確定(816)為不類似,則分段模塊208將所述段識別(820)為圖像內容。
在將段識別為文本、藝術線條或圖像內容后,分段裝置200確定(822)是否另外的段需要被處理,如果需要,則迭代地返回以選擇(802)隨后的內容段。否則,所描述的類型識別方法800結束。
有益的是,所提供的實施例自動地識別掃描內容的段,并且識別每個內容段的內容類型。獨立段的內容類型的識別便于按照其內容類型而適當地處理每個段。另外,這樣的掃描段提高了掃描數字化和再現的質量。
在此包括的所述示意流程圖被一般地描述為邏輯流程圖。因此,所述順序和標注的操作指示所提供的方法的一個實施例。可以想象在功能、邏輯或效果上等同于所說明的方法的一個或多個操作或其部分的其他操作和方法。另外,所使用的格式和符號被提供來說明所述方法的邏輯操作,并且被理解為不限制所述方法的范圍。雖然各種箭頭類型和線條類型可以被用于所述流程圖中,但是它們被理解為不限制對應方法的范圍。事實上,一些箭頭或其他連接符可以用于僅僅指示所述方法的邏輯流程。例如,箭頭可以指示在所述方法的所列舉操作之間的未指定持續(xù)時間的等待或監(jiān)視時段。另外,特定方法發(fā)生的順序可以或可以不嚴格地遵守所示出的對應操作的順序。
遍及本說明書對于“一個(an,one)實施例”或類似語言的引用,表示有關所述實施例所述的特定特征、結構或特性被包括在本發(fā)明的至少一個實施例中。因此,遍及本說明書出現詞語“在一個(an,one)實施例中”和類似語言,可以、但不必然全部指同一實施例。
對于信號承載介質的引用可以采取能夠產生信號、使得產生信號或使得在數字處理裝置上執(zhí)行機器可讀指令的程序的任何形式。信號承載介質可以體現為傳輸線路、致密盤、數字視頻盤、磁帶、伯努里驅動器、磁盤、穿孔卡、快閃存儲器、集成電路或其他數字處理裝置存儲設備。
而且,可以在一個或多個實施例中以任何適當的方式來組合本發(fā)明的所述特征、結構或特性。在隨后的說明中,提供了多種具體細節(jié),諸如編程、軟件模塊、用戶選擇、網絡交易、數據庫查詢、數據庫結構、硬件模塊、硬件電路、硬件芯片等的示例,以提供對本發(fā)明實施例的完全理解。但是,本領域內的技術人員將會明白,在沒有一個或多個所述具體細節(jié)的情況下,或使用其他方法、部件、材料等,可以實踐本發(fā)明。在其他情況下,不詳細示出或說明公知結構、材料或操作,以避免模糊本發(fā)明的各方面。
在不脫離本發(fā)明的精神或基本特性的情況下,本發(fā)明可以被體現為其他具體形式。所述實施例在各個方面都要被考慮為僅僅是說明性的而不是限定性的。因此,本發(fā)明的范圍由權利要求而不是由上述的說明指示。在權利要求的等同內容的含義和范圍內的所有改變要被包含在它們的范圍內。
權利要求
1.一種用于識別在掃描圖像中的內容的裝置,所述裝置包括修改模塊,它被配置來通過向掃描內容數據集應用S形函數而建立修改內容數據集;識別模塊,它耦合到所述修改模塊,所述識別模塊被配置來識別在修改內容數據集內的內容段;以及分段模塊,它耦合到所述修改模塊,所述分段模塊被配置來識別內容段的內容段類型。
2.按照權利要求1的裝置,其中,所述識別模塊進一步被配置來確定與基本上黑色的像素的8相鄰連接性,并且識別在所述內容段內的所有像素。
3.按照權利要求1的裝置,還包括面積計算模塊和面積比較模塊,它們每個耦合到所述分段模塊,所述面積計算模塊被配置來計算所述內容段的段表面面積,所述面積比較模塊被配置來將所述段表面面積與最小圖像表面面積相比較。
4.按照權利要求3的裝置,其中,所述分段模塊被進一步配置來響應于所述段表面面積小于所述最小圖像表面面積的判定,將內容段的內容段類型識別為文本。
5.按照權利要求1的裝置,還包括子圖像模塊,它耦合到所述分段模塊,所述子圖像模塊被配置來響應于所述內容段不是文本的判定,定義包括所述內容段的子圖像窗口。
6.按照權利要求5的裝置,還包括直方圖計算模塊和直方圖比較模塊,它們每個耦合到所述分段模塊,所述直方圖計算模塊被配置來計算對應于所述子圖像窗口的掃描內容直方圖,并且計算對應于所述子圖像窗口的修改內容直方圖,所述直方圖比較模塊被配置來比較所述修改內容直方圖和掃描內容直方圖。
7.按照權利要求6的裝置,其中,所述分段模塊還被配置來響應于所述修改內容直方圖類似于所述掃描內容直方圖的判定,將內容段的內容段類型識別為藝術線條。
8.按照權利要求6的裝置,其中,所述分段模塊進一步被配置來響應于所述修改內容直方圖不類似于掃描內容直方圖的判定,將所述內容段的內容段類型識別為圖像。
9.按照權利要求1的裝置,還包括相鄰模塊,它耦合到所述修改模塊,所述相鄰模塊被配置來將預定范圍的像素值轉換為在所述預定范圍的像素值內的單個像素值。
10.按照權利要求1的裝置,其中,所述修改內容數據集包括對應于至少一個彩色通道的數據。
11.一種用于識別在掃描圖像內的內容的系統(tǒng),所述系統(tǒng)包括掃描器,用于捕獲和數字化具有內容段的掃描內容;電子數據存儲器件,用于存儲用于描述數字化的掃描內容的掃描內容數據集;以及分段裝置,用于識別所述內容段的內容段類型。
12.按照權利要求11的系統(tǒng),其中,所述分段裝置進一步被配置來從掃描內容數據集建立修改內容數據集,所述修改內容數據集對應于修改內容直方圖,該修改內容直方圖比對應于掃描內容數據集的掃描內容直方圖更極化。
13.按照權利要求12的系統(tǒng),其中,所述修改內容數據集按照基本上類似于下列的S形函數而與掃描內容數據集相關f(x)=(x128)n×128]]>0<x<128f(x)=255-(255-x127)n×127]]>128<x<255其中,n是用于確定S形函數的形狀的參數,x是掃描內容數據集的像素的像素值,f(x)定義修改內容數據集的修改像素的對應修改像素值。
14.一種用于掃描圖像內的內容識別的方法,所述方法包括通過向掃描內容數據集應用S形函數而建立修改內容數據集;識別在修改內容數據集內的內容段;以及識別內容段的內容段類型。
15.按照權利要求14的方法,還包括響應于段表面面積小于最小圖像表面面積的判定,將內容段的內容段類型識別為文本。
16.按照權利要求14的方法,還包括響應于修改內容直方圖類似于掃描內容直方圖的判定,將內容段的內容段類型識別為藝術線條。
17.按照權利要求14的方法,還包括響應于修改內容直方圖不類似于掃描內容直方圖的判定,將所述內容段的內容段類型識別為圖像。
18.按照權利要求14的方法,還包括確定與基本上黑色的像素的8相鄰連接性,并且識別在所述內容段內的所有像素。
19.按照權利要求14的方法,還包括計算在修改內容數據集內的內容段的段表面面積;將所述段表面面積與最小圖像表面面積相比較;并且響應于所述段表面面積小于所述最小圖像表面面積的判定,將內容段的內容段類型識別為文本。
20.按照權利要求14的方法,還包括響應于所述內容段不是文本的判定,定義包括所述內容段的子圖像窗口;計算對應于所述子圖像窗口的掃描內容直方圖,并且計算對應于所述子圖像窗口的修改內容直方圖;并且比較所述修改內容直方圖和掃描內容直方圖。
21.按照權利要求20的方法,還包括向應于所述修改內容直方圖類似于所述掃描內容直方圖的判定,將內容段的內容段類型識別為藝術線條;并且響應于所述修改內容直方圖不類似于掃描內容直方圖的判定,將所述內容段的內容段類型識別為圖像。
22.按照權利要求14的方法,還包括將預定范圍的像素值轉換為在所述預定范圍的像素值內的單個像素值。
23.一種信號承載介質,用于確實地包含可由數字處理裝置執(zhí)行的機器可讀指令的程序,所述指令用于執(zhí)行用于識別掃描圖像內的內容的操作,所述操作包括前述方法權利要求的任何一種方法的步驟。
全文摘要
公開了一種用于識別掃描文件內的內容的裝置、系統(tǒng)和方法。所述裝置包括修改模塊、識別模塊和分段模塊。所述修改模塊通過向掃描內容數據集應用S形函數而建立修改內容數據集。所述識別模塊識別在修改內容數據集內的內容段。所述分段模塊識別內容段的內容段類型。示例內容段類型包括文本、藝術線條和圖像。
文檔編號G06K9/20GK1920853SQ20061012188
公開日2007年2月28日 申請日期2006年8月25日 優(yōu)先權日2005年8月25日
發(fā)明者詹姆斯·T·史密斯第二, 李紅, 約瑟夫·S·齊斯茲克澤維斯基 申請人:國際商業(yè)機器公司