專利名稱:照相文檔成像系統的制作方法
技術領域:
用于處理捕獲的圖像的設備和方法,具體來說,用于處理包括文檔的捕獲的圖像。
背景技術:
圖1-A是描述掃描儀的典型組件的方框圖。掃描儀通常用于捕獲文檔110的圖像。將文檔110放置于掃描儀板112上。一般包括光學子系統122和電荷耦合器件(“CCD”)124的掃描頭120在文檔110上移動。雖然圖1A只描述了二維視圖,但是,掃描頭120可以在文檔的由箭頭114所顯示的方向上和在垂直于文檔110的方向上移動。光學子系統122將從文檔110反射的光聚焦到CCD124上。CCD 124常常是作為光敏電容元件的二維陣列來實現的。當光入射到CCD 124的光敏元件上時,在半導體元件的耗盡區(qū)捕獲電荷。與光敏電容元件關聯的電荷量與在一個采樣周期內接收到的入射到相應的元件上的光的強度相關。相應地,通過對元件進行采樣,通過判斷相應的光敏電容元件上的入射光的強度,捕獲圖像。由光敏電容元件產生的模擬信息被模擬-數字(A/D)轉換器130轉換為數字信息。A/D轉換器130可以以串行或并行兩種方式轉換從CCD 124接收到的模擬信息。轉換過來的數字信息可以存儲在存儲器140中。然后,由處理器150根據存儲在ROM 180中的控制軟件對數字信息進行處理。用戶可以通過用戶界面170控制掃描參數,通過輸出端口160輸出通過掃描獲得的圖像。
圖1B中描述了數碼相機的方框圖。數碼相機的光學子系統122可以用來將從文檔110反射的光聚焦到CCD 124上,就如在掃描儀中那樣。在其他數碼相機中,使用CCD之外的器件(如CMOS傳感器)來捕獲從圖像反射的光。在數碼相機的情況下,與掃描儀相反,光學子系統122不如在掃描儀中那樣沿著文檔的表面移動。相反,在數碼相機中,光學系統122一般相對于要獲取其圖像的對象(如文檔)是固定的。除了數碼相機之外,從使用膠卷的照像機捕獲的照片也可以被數字化。
用于捕獲文檔圖像及其他圖像時照像機比掃描儀具有顯著的優(yōu)點。例如,照像機一般比掃描儀更便于攜帶。此外,由于掃描儀要求捕獲的圖像應放置在掃描儀板上,因而照像機能夠比掃描儀捕獲范圍更廣的圖像。然而,使用照像機在進行圖像捕獲時遇到了使用掃描儀時不存在的困難。例如,當使用照像機時光條件是會改變的,而在掃描儀中光條件一般是受控制的。此外,使用照像機會產生圖像失真,可能取決于各種可變因素,如照像機相對于圖像的角度,由照像機使用的透鏡以及其與圖像的距離,包括文檔的圖像是位于平面還是曲面上,及其他因素。由于掃描儀利用移動的掃描頭,該掃描頭與待成像的文檔有固定距離,在掃描儀中一般不會產生這些失真。
因此,需要利用照像機的優(yōu)于掃描儀的優(yōu)點的用于捕獲文檔的圖像,但是減少通過照像機捕獲文檔圖像時帶來的而掃描儀不存在的困難的設備和方法。
發(fā)明內容
描述了用于對包括成像的文檔的捕獲的圖像進行處理的設備和方法。在一個實施例中,設備包括固定式照相機,該固定式照相機被用來捕獲成像的文檔。在另一個實施例中,利用非固定照相機來捕獲成像的文檔。在再一個實施例中,用于對包括文檔的捕獲的圖像進行處理的方法包括區(qū)別成像的文檔與其背景,調整捕獲的圖像以減少由于使用照像機產生的失真,并正確地對文檔進行定向。
圖1A描述了采用現有技術的文檔掃描儀。
圖1B描述了采用現有技術的數碼相機。
圖2描述了用于對捕獲的圖像進行處理的方法的總流程圖。
圖3描述了用于對捕獲的圖像進行處理的方法的另一個實施例的流程圖。
圖4描述了根據這里說明的對文檔進行成像的方法的其中一個實施方式執(zhí)行分段的方法的流程圖。
圖5描述了執(zhí)行圖4中所顯示的隨機樣本一致性步驟的一個方法的流程圖。
圖6描述了執(zhí)行圖4中所顯示的外露層消除步驟的一個方法的流程圖。
圖7描述了根據這里說明的對文檔進行成像的方法執(zhí)行分段的另一個方法的流程圖。
圖8描述了執(zhí)行圖2和圖3中所顯示的失真消除步驟的一個方法的流程圖。
圖9描述了執(zhí)行圖3中所顯示的“文本行”步驟的一個方法的流程圖。
圖10描述了根據這里說明的對文檔進行成像的方法的一個實施方式判斷文檔是否被正確定向成直立的一個方法的流程圖。
圖11描述了用于捕獲和處理包括成像的文檔的圖像的設備的一個實施例。
圖12描述了根據這里說明的對文檔進行成像的方法的一個實施方式判斷文檔是否直立的一個方法的流程圖。
圖13描述了用于對捕獲的圖像進行處理的系統的一個實施例。
具體實施例方式
這里所描述的實施例旨在處理包括文檔的從照像機捕獲的圖像。這里所描述的實施例旨在從其背景中識別捕獲的文檔圖像。在捕獲的文檔圖像與其背景隔離之后,這里所描述的實施例旨在減少或去除捕獲的文檔圖像的失真。在校正捕獲的文檔圖像之后,這里所描述的實施例旨在將捕獲的文檔圖像旋轉到其正確的方向。另外,這里所描述的實施例給用戶提供實現其各個實施例中的每一個步驟的成功的評估。
圖2描述了用于對捕獲的圖像進行處理的方法的總流程圖。在開始210之后,接收圖像220??梢詮母鞣N來源接收圖像。例如,在一個實施例中,可以從數碼相機接收圖像。在另一個實施例中,可以從包括數碼相機的固定單元接收圖像。在再一個實施例中,可以從已經被數字化的膠卷照片接收圖像。接收到的圖像220包括文檔圖像。步驟230用于識別捕獲的文檔圖像與圖像的其余部分,或背景。步驟230被稱為分段。此步驟230可以用于檢測捕獲的圖像文檔的邊緣。此步驟230還可以用于從捕獲的文檔圖像中裁剪圖像的背景,以便文檔與其背景分開。被稱為失真消除的步驟240,用于減少或去除捕獲的文檔圖像的失真。此步驟240可以校正的某些失真是透視失真、透鏡失真和光失真。在此步驟240中也可以校正其他失真。步驟250用于校正文檔的方向。此步驟250可以用于判斷捕獲的文檔圖像應該是縱向還是橫向,并相應地旋轉捕獲的文檔圖像。此步驟250還可以用于判斷捕獲的文檔圖像是否倒置,并相應地旋轉捕獲的文檔圖像。在步驟260中,輸出處理過的文檔圖像。可以通過各種手段輸出260處理過的文檔圖像,如,將處理過的文檔圖像的圖像顯示在監(jiān)視器上,將處理過的文檔圖像保存到計算機文件中,以電子方式傳輸文檔圖像,或打印處理過的文檔圖像。
圖3描述了用于對捕獲的圖像進行處理的方法的另一個實施例的流程圖300。在開始205之后,接收圖像310。在步驟315中,接收到的圖像被轉換為與設備無關的位圖。在步驟320中,利用基于邊緣的分段過程,執(zhí)行分段?;谶吘壍姆侄?20過程識別捕獲的圖像文檔的邊緣,以區(qū)別捕獲的文檔圖像與其背景。
圖4描述了基于邊緣的分段320的一個實施例的流程圖。在此實施例中,定位水平和垂直邊緣點。這是通過搜索邊緣點來完成的。通過識別接收到的圖像的包含從接收到的圖像的背景部分到接收到的圖像的文檔部分的過渡的部分,來確定邊緣點。在一個實施例中,從接收到的圖像的中心開始掃描接收到的圖像410,還從接收到的圖像的邊界開始掃描接收到的圖像420。在一個實施例中,假設文檔圖像占據接收到的圖像的中心。在另一個實施例中,假設捕獲的文檔圖像的非文本部分的像素濃度大于其背景的像素濃度。在從接收到的圖像的中心開始的掃描410中,在發(fā)現可以被標識為文檔像素的區(qū)域之后,與掃描一起搜索到背景像素的過渡。在從接收到的圖像的邊界開始的掃描420中,一個區(qū)域被標識為背景像素,并識別到文檔圖像像素的過渡??梢岳眠@兩種掃描410、420中的任何一種或者兩種來執(zhí)行該過程。在一個實施例中,在水平和垂直方向兩種方向掃描410、420接收到的圖像。
然后,執(zhí)行隨機樣本一致性步驟430。圖5描述了隨機樣本一致性步驟的一個實施例。在此實施例中,通過從在步驟410和420中選擇的邊緣點中按步驟510隨機選擇兩個點,執(zhí)行隨機樣本一致性430。然后,按步驟520計算連接這兩個隨機選擇的點的線條。在一個實施例中,使用角度-距離坐標,其中,角度值對應于圍繞接收到的圖像的中心的線段的角度,距離值對應于從接收到的圖像的中心到線段中的最近的點的距離。在其他實施例中,可以使用其他坐標系統,包括,笛卡兒坐標或極坐標。然后存儲這些值。重復從410和420中獲取的邊緣點選擇兩個隨機點的過程,以獲取足夠的樣本組530。在一個實施例中,將此過程重復五千次,盡管可以使用不同的樣本大小。在采樣之后,將所有位于同一個線條上的點對編組到倉(bin)中。如果在410和420中選擇的初始邊緣點準確地代表了接收到的圖像中的文檔的邊緣,大致四分之一的點將分布到對應于四個文檔邊緣的四個小的區(qū)域,而剩余的點將均勻地分布在可能的坐標的其余部分。具有大多數分組的線段540的并符合分組的線段的最小閾值的四組分組的線段被標識為代表接收到的圖像550中的文檔的四個邊緣。在一個實施例中,然后,根據它們在接收到的圖像中的相對位置,判斷這些線段的集合為左邊緣、右邊緣、頂邊緣和底邊緣。
在一個實施例中,在執(zhí)行隨機樣本一致性步驟430之后,在邊緣點的集合之間執(zhí)行外露層消除步驟440,以進一步細化文檔邊緣的標識。在圖6中所描述的一個實施例中,這是通過在對應于接收到的文檔圖像的一個邊緣的邊緣點的集合之間執(zhí)行線性回歸來進行的。在線性回歸技術中,繪制一條直線,以嘗試最準確地連接邊緣點的集合610。如果判斷與此線性回歸線最遠的點與線性回歸線620有充分遠的距離,則刪除該點步驟630,并進行新的線性回歸。重復此過程,直到與線性回歸線的距離最遠的點在閾值內,并將所產生的線性回歸線確定為邊緣線。這是在代表接收到的圖像文檔的四個邊緣的四個邊緣點的集合中的每一個集合中均執(zhí)行的。
請回頭參看圖3,在步驟325中,確定識別邊緣線與基于邊緣的分段320的準確性的計算。此步驟325可以稱為置信度的計算。在一個實施例中,針對接收到的文檔圖像的每一個邊緣計算其置信度,最低的值被確定為總的置信度。在另一個實施例中,邊緣線之間的最高置信度值被確定為總的置信度。在再一個實施例中,使用邊緣線的置信度的組合,例如,線邊緣的置信度的平均值,來確定總的置信度。計算特定線邊緣的置信度的一個實施例是計算外露層消除440之后的仍保留在該邊緣的集合中的像素點的數量和已經在該邊緣中發(fā)現的像素點的總數之間的比率。置信度的確定可以用來改善接收到的文檔圖像的失真消除240、350效果,還可以被用來將系統對于特定接收到的圖像的執(zhí)行的準確性通知給用戶。在步驟330中,如果基于邊緣的分段步驟320中的置信度不十分高,那么,執(zhí)行步驟335的基于內容的分段。
基于內容的分段步驟335(圖7中描述了其一個實施例),識別捕獲的圖像文檔的文本,并計算捕獲的圖像文檔相對于文本的邊緣。這是通過識別接收的文檔圖像710中的連接的組件并發(fā)現這些組件720的最近鄰來實現的。連接的組件一般是指彼此相鄰的那些黑色或暗的像素。然后,將這些相鄰像素連接為線730,然后使用線730來確定文本的邊界740。從這些邊界添加750邊距,以便識別接收到的文檔圖像的邊緣的位置。雖然邊距的大小可以變化,但是,在一個實施例中,在步驟750中添加了標準邊距。
在步驟340中,計算捕獲的文檔圖像的拐角。在一個實施例中,根據邊緣線的交叉點計算拐角。
失真消除240、350步驟可能涉及對接收到的圖像的各種調整。在一個實施例中,失真消除240、350將調整接收到的文檔圖像,以對以接收到的圖像中的透視失真進行校正。例如,在圖片不是在文檔的正上方的角度并居中拍攝的情況下,在接收到的文檔圖像中將會有透視失真。
圖8中描述了用于調整圖像以校正透視失真的一個實施例。此實施例涉及將一組圖像坐標810,例如,(x,y),映射到一組新的圖像坐標,例如,(u,v)。在分段步驟230、320、335之后,確定按步驟340的文檔的四個拐角。通常,在包含透視失真的文檔中,這四個拐角將對應于梯形,而文檔一般應該具有矩形的形狀。如此,在一個實施例中,在接收到的梯形與所需要的矩形之間執(zhí)行映射810。進行此映射810的一個實施例是利用非失真像素坐標和失真的像素坐標之間的齊次變換,利用代表從失真的像素坐標到非失真的像素坐標的變換的齊次矩陣??梢酝ㄟ^比較在分段230、320、335過程中確定的四個拐角與接收到的非失真的文檔圖像的經過校正的尺寸,來計算變換。在一個實施例中,通過簡單地計算每一行的變換,并利用線性內插來計算新的像素坐標,可以不必計算每一個像素點處的變換。在映射對應于具有減薄的透視失真的文檔的新坐標之后,對像素進行重新采樣815。
在失真消除240,350步驟中可以調整的接收到的圖像的另一個方面是對由照相機鏡頭820所引起的失真進行調整。由照相機鏡頭所引起的失真可能會使直線彎曲。此失真取決于所使用的特定透鏡和照像機與捕獲的圖像的距離。由透鏡失真產生的彎曲一般是放射狀的,因此,可以使用近似于透鏡失真度的參數,對透鏡失真進行均勻的徑向調整??梢杂上到y來計算此參數,也可以由用戶輸入。
在失真消除240,350步驟中可以調整的接收到的圖像的再一個方面是對由文檔不完全平坦所引起的失真進行調整。例如,如果成像的文檔是一本書中的一個頁面,則當以照相方式捕獲時,該頁面可能具有會產生失真的彎曲。同時可以在失真消除步驟240、350中校正此失真。也可以校正其他失真,這里對特定類型的失真的描述并不限制可以減薄或去除的失真的類型。
在步驟365中,對在步驟360中產生的圖像執(zhí)行定閾值的過程。定閾值的過程365會降低圖像的顏色深度,具有減少當對圖像進行拍攝時可能使用的閃光燈產生的失真的潛在優(yōu)點。在一個實施例中,定閾值過程365將二十四比特彩色圖像減薄到一個比特黑白圖像。將圖像減薄到黑色和白色的潛在優(yōu)點是,減小了由照像機的閃光燈產生的影響,減小了系統300進行處理所需的信息量。可以以許多方式執(zhí)行定閾值365的過程。一個實施例可以利用當前已知的高頻振動技術??梢栽诂F有的圖像軟件中發(fā)現采用高頻振動技術的示例,如由LASERFICHE推出的SNOWBOUND IMAGE LIBRARY中。然而,使用高頻振動技術的一個缺點是,在圖像中產生了噪聲。定閾值365過程的另一個實施例涉及為一個圖像選擇全局閾值。在這樣的技術中,選擇一個閾值。具有大于閾值的濃度的那些像素被視為是白色,而其余的像素被認為是黑色??梢砸栽S多方式來選擇閾值。在一個實施例中,選擇一個閾值,并將其應用于所有接收到的圖像。此技術的缺點是不考慮接收到的圖像中的光條件的變化。在另一個實施例中,根據對接收到的圖像的分析(如其直方圖)來計算閾值。在一個這樣的涉及對接收到的圖像的分析的實施例中,假設接收到的圖像在對應于接收到的文檔圖像的前景和背景的其濃度直方圖中包含兩個峰值。此實施例用于那些沒有進行此假設的圖像可能不很理想。定閾值365的過程的另一個實施例是為接收到的圖像中的每一個像素選擇一個單獨的閾值。此實施例的優(yōu)點是,響應文檔內的變化的條件,如照明的變化或背景對比度。此技術的一個實施例是自適應定閾值。在此實施例中,在對每一個新像素進行分析以便確定閾值時,考慮了以前的像素值。做到這一點的一種方式是通過在對接收到的圖像的每一個漸進的像素進行分析時計算每一個像素的加權平均值。此實施例的一個潛在缺點是,如果接收到的圖像包括彩色的文檔,則會產生噪聲。
在步驟370中,執(zhí)行“文本行”步驟。在此步驟370中,系統確定接收到的文檔圖像中的文本的行。圖9描述了“文本行”370的一個實施例。在一個實施例中,系統假設對應于接收到的文檔圖像中的文本的像素的濃度比接收到的文檔圖像的背景像素的濃度低。在此實施例中,計算接收到的文檔圖像的每一行內的所有像素的濃度的總和,即910。然后使用這些總和來識別像素濃度中的本地峰值和谷值920。然后,對這些峰值和谷值進行分析,以確定文檔中的文本的行。例如,如果接收到的文檔圖像具有黑色的文本行,背景為白色,則完全為白色的像素的行將具有最高總濃度,包含黑色文本的行基本上將具有較低的像素濃度。然后,可以計算濃度的這些差別,從而可以確定文本的行。在優(yōu)選實施例中,對接收到的文檔圖像水平地和垂直地執(zhí)行“文本的行”370。
執(zhí)行“文本的行”370的另一個實施例是,如在步驟335中執(zhí)行的搜索那樣,對文本的行進行類似的搜索。在一個這樣的實施例中,識別捕獲的文檔圖像的文本,并形成行。這可以通過識別捕獲的文檔圖像中的連接的組件并發(fā)現這些組件的最近鄰來實現。連接的組件一般是指彼此相鄰的那些黑色或較暗的像素。然后,將這些相鄰像素連接為行。此過程類似于圖7的步驟710、720和730中所描述的過程。
步驟375判斷捕獲的文檔圖像應該是橫向還是縱向格式。在一個實施例中,這是通過比較垂直方向的文本行370的結果與水平方向的文本行370的結果來實現的。在一個實施例中,具有更多的行數的方向被確定為定義接收到的文檔圖像的方向。例如,在其高度大于其寬度的接收到的文檔圖像中,如果垂直方向上的文本行370比水平方向上的文本行370產生更多的行數,那么,接收到的圖像文檔被確定為具有橫向方向。作為另一個示例,如果在同一個接收到的圖像文檔中,水平方向上的文本行370比垂直方向上的文本行370產生更多的行數,那么,接收到的圖像文檔被確定為具有縱向方向。
步驟380確定文檔的直立方向。在此步驟385中,判斷文檔是直立還是倒置。圖10描述了判斷接收到的文檔圖像是否被正確定向成直立380的一個實施例。在一個實施例中,分析每一個文本行??梢苑治鲚^少的文本行數,但是,這可能會產生可靠性稍差的結果。在一個實施例中,每一個文本行都被分成三個部分1010上行部分,中間部分和下行部分。英語語言字符包含某些固有的統計特征,可以在某些實施例中用來判斷接收到的文檔圖像的直立方向。例如,英語語言字母表只具有五個字符下行到低于句子的底邊界(即,g,j,p和y),而具有很多的字符上行到高于句子的頂部邊界(例如,b,d,f,h,i,j,k,I)。在一個實施例中,當計算上行部分和下行部分1020中包含的相應的像素數量并比較那些像素密度1030,1040時,可以考慮英語語言字符的此特征。例如,如果具有英語語言字符的接收到的文檔圖像的上行字符像素比下行字符像素更多,則很可能處于直立狀態(tài),不需要旋轉,而如果同一個文檔的下行字符像素比上行字符像素多,則該文檔可能需要旋轉180度1050。
在其他實施例中,還可以考慮英語語言字符的其他特征。例如,可以考慮水平方向上的像素位置的特征。此外,還可以使用非統計方法來判斷文檔的直立方向,如光學字符識別(“OCR”)。另一個實施例可以利用神經網絡方法。此外,對于非英語文檔,可以利用類似的固有特征。例如,西班牙語語言字符類似于英語中的字符,將具有類似的固有特征。作為另一個示例,阿拉伯語語言字符包含更多的下行字符,相應地,實施例可以針對這些特征進行調整。
圖12描述了判斷接收到的文檔圖像是否被正確定向為直立380的另一個實施例。在一個實施例中,使用連接的組件來判斷文本的每一個字母行。按照高度,將每一個組件分類為兩個類別,小的和大的,即1210。確定文本行的中心即1220。在一個實施例中,使用小字母的高度來確定文本行的中心1220。這樣可以改善文本行的中心的估計如果失真的話,如,如果跨頁面扭曲。然后,將大字母與文本行的中心進行匹配,并基于與此中心1230的相對位置,分組為上行或下行。計算上行和下行字母的總數。在典型的英語語言文檔中,大字符將朝頁面的頂部方向上行。因此,在一個實施例中,如果上行大字符的數量大于下行的字符的數量,那么,在輸出之前,文檔不需要旋轉即1250。然而,如果下行的大字符的數量大于上行的較大字符的數量,那么,在輸出之前,旋轉文檔即1260。
然后,根據步驟380和375的判斷,在步驟385中旋轉圖像。然后,輸出新文檔圖像即390。
如上文所討論的,可以用膠卷照相機或者數碼相機捕獲系統成像的文檔。作為這些任意的設備的替代,可以使用固定式照相機系統來捕獲成像的文檔。圖11描述了用于捕獲文檔圖像的固定式照相機系統的實施例。在此實施例中,將文檔1110放置于系統的基座1120中。在優(yōu)選實施例中,系統的基座1120是預先確定的顏色,上文所討論的,這可能具有有助于分段處理的優(yōu)點。支架1130從基座1120延伸,該支架可以安裝照像機1140和閃光燈1150。照像機和閃光燈可以永久地安裝在支架1130中,也可以是可移動的或可調整的。閃光燈可以放置在基座1120或支架1130上的任何地方。在另一個實施例中,在基座1120或支架1130上沒有其他閃光燈。在再一個實施例中,閃光燈與基座1120或支架1130分開。然后,固定系統連接到計算機1160,以執(zhí)行對接收到的圖像文檔的上文所描述的處理。在另一個實施例中,計算機也可以嵌入到設備中。在再一個實施例中,捕獲的圖像文檔可以簡單地存儲在數碼相機1140中,或存儲在另一個存儲器源中,以后連接到計算機供進行處理。這樣的固定式照相機系統也可以作為用戶的工作站的一部分放置在辦公室。
與任意的照像機相對比,利用固定式照相機系統有多個優(yōu)點。例如,在利用固定式照相機系統時,可以減少透視失真量,因為相對于照相機鏡頭,文檔很可能是垂直的,并居中。此外,另一個優(yōu)點可以是允許系統更好地對于透鏡失真進行調整,因為照像機和所使用的透鏡之間的距離是已知的,從而不必計算或估計這些參數。另一個潛在的優(yōu)點將是減少由照像機閃光燈產生的失真。在優(yōu)選實施例中,將定位固定系統的閃光燈1150,以便減少眩光及由照像機閃光燈產生的其他失真。
這里所描述的用于處理捕獲的圖像的方法適用于任何處理應用程序類型,(但不僅限于)特別適用于用于處理捕獲的圖像的基于計算機的應用程序。這里所描述的方法可以以硬件電路,以計算機軟件,或以硬件電路和計算機軟件的組合來實現,并不僅限于特定硬件或軟件實現方式。
圖13是顯示了在其上可以實現本發(fā)明的實施例的計算機系統1300的方框圖。計算機系統1300包括用于傳遞信息的總線1345或其他通信機制,以及用于處理信息的與總線1345連接的處理器1335。計算機系統1300還包括連接到總線1345的主存儲器1320,如隨機存取存儲器(RAM)或其他動態(tài)存儲設備,用于存儲信息和待由處理器1335執(zhí)行的指令。主存儲器1320還可以用于在待由處理器1335執(zhí)行的指令的執(zhí)行過程中存儲臨時變量或其他中間信息。計算機系統1300進一步包括連接到總線1345的只讀存儲器(ROM)1325或其他靜態(tài)存儲設備,用于為處理器1335存儲靜態(tài)信息和指令。提供了存儲設備1330,如磁盤或光盤,并連接到總線1345,用于存儲信息和指令。
計算機系統1300可以通過總線1345連接到顯示器1305,如陰極射線管(CRT),用于向計算機用戶顯示信息。包括字母數字及其他鍵的輸入設備1310,連接到總線1345,以便向處理器1335傳遞信息和命令選擇。另一種用戶輸入設備是光標控制裝置1315,如鼠標、軌跡球或光標方向鍵,用于向處理器1335傳遞方向信息和命令選擇,并用于控制顯示器1305上的光標移動。此輸入設備通常在兩個軸[第一個軸(例如x)和第二個軸(例如y)]中具有兩個自由度,允許設備指定平面中的位置。
這里所描述的方法涉及使用計算機系統1300來處理捕獲的圖像。根據一個實施例,響應處理器1335執(zhí)行主存儲器1320中包含的一個或多個指令的一個或多個序列,由計算機系統1300對捕獲的圖像進行處理??梢詮牧硪粋€計算機可讀介質(如存儲設備1330)將這樣的指令讀取到主存儲器1320中。執(zhí)行主存儲器1320中包含的指令序列會使處理器1335執(zhí)行這里所描述的處理步驟。還可以使用多處理裝置中的一個或多個處理器來執(zhí)行主存儲器1320中包含的指令序列。在備選實施例中,可以使用硬線連接的電路來代替軟件指令或與軟件指令相結合,來實現這里所描述的實施例。如此,這里所描述的實施例不僅限于硬件電路和軟件的任何特定的組合。
這里所使用的術語“計算機可讀介質”是指參與向處理器1335提供指令以供其執(zhí)行的任何介質。這樣的介質可以呈現許多形式,包括但不僅限于,非易失性介質、易失性介質,以及傳輸介質。非易失性介質包括,光盤或磁盤,如存儲設備1330。易失性介質包括動態(tài)存儲器,如主存儲器1320。傳輸介質包括同軸電纜、銅線和光纖,包括構成總線1345的線路。傳輸介質還可以呈現聲波或光波的形式,如在無線電波和紅外數據通信的過程中生成的那些。
計算機可讀介質的常見形式包括,軟盤、硬盤、磁帶,或任何其他磁性介質,CD-ROM,任何其他光學介質,穿孔卡片、紙帶,具有孔的圖案的任何其他物理介質,RAM、PROM,以及EPROM,FLASH-EPROM,任何其他存儲器芯片或盒,如下面所描述的載波,或計算機可以從其中讀取的任何其他介質。
計算機可讀介質的各種形式可以涉及向處理器1335傳送一個或多個指令的一個或多個序列以供其執(zhí)行。例如,指令最初可以位于遠程計算機的磁盤上。遠程計算機可以將指令加載到其動態(tài)存儲器中,并使用調制解調器通過電話線路發(fā)送指令。計算機系統1300本地的調制解調器可以通過電話線接收數據,并使用紅外發(fā)射器將數據轉換為紅外信號。連接到總線1345的紅外檢測器可以接收紅外信號中攜帶的數據,并將數據放到總線1345中??偩€1345向主存儲器1320傳送數據,處理器1335從主存儲器1320中檢索指令并執(zhí)行這些指令。在由處理器1335執(zhí)行之前或之后,由主存儲器1320接收到的指令可以可選地存儲在存儲設備1330中。
計算機系統1300還包括連接到總線1345的通信接口1340。通信接口1340提供了連接到網絡鏈路1375的雙向數據通信,而網絡鏈路1375又連接到局域網1355。例如,通信接口1340可以是用于為對應的電話線路類型的提供數據通信的綜合業(yè)務數字網(ISDN)卡或調制解調器。作為另一個示例,通信接口1340可以是為兼容的LAN的提供數據通信的局域網(LAN)卡。還可以實現無線鏈路。在任何這樣的實現方式中,通信接口1340發(fā)送和接收攜帶了代表各種信息的數字數據流的電的、電磁的或光的信號。
網絡鏈路1375通常通過一個或多個網絡為其他數據服務的提供數據通信。例如,網絡鏈路1375可以通過局域網1355為主機計算機1350或到由因特網服務提供商(ISP)1365運營的數據設備的提供連接。ISP 1365又通過世界范圍的通常被稱為“因特網”1360的數據包數據通信網絡,提供數據通信業(yè)務。局域網1355和因特網1360兩者都使用攜帶了數字數據流的電的、電磁的或光的信號。向計算機系統1300以及從計算機系統1300傳送數字數據的經過各種網絡的信號以及網絡鏈路1375上的信號,經過通信接口1340的信號,是輸送信息的載波的示例形式。
計算機系統1300可以通過網絡、網絡鏈路1375和通信接口1340,發(fā)送消息和接收數據,包括程序代碼。在因特網的情況下,服務器1370可以通過因特網1360,ISP 1365,局域網1355和通信接口1340為應用程序傳輸被請求的代碼。根據本發(fā)明,一個這樣的已下載的應用程序用于處理如這里所描述的捕獲的圖像。
接收到的代碼可以在接收時由處理器1335執(zhí)行,和/或存儲在存儲設備1330中,或其他非易失性存儲器中,供以后執(zhí)行。如此,計算機系統1300可以以載波的形式獲取應用程序代碼。
權利要求
1.一種用于處理捕獲的圖像的方法,所述捕獲的圖像包括成像的文檔,所述方法包括檢測所述捕獲的圖像中的與所述成像的文檔的邊緣相關的圖形信息;基于與所述成像的文檔的邊緣相關的圖形信息,將所述成像的文檔與所述捕獲的圖像的背景隔離;計算所述成像的文檔與所述成像的文檔的非失真的透視圖的偏離;基于所述計算出的偏離,對所述成像的文檔的像素進行重新采樣;檢測所述捕獲的圖像中的與所述成像的文檔的方向相關的圖形信息;基于與所述成像的文檔的方向相關的圖形信息,旋轉所述成像的文檔。
2.一種用于處理包括成像的文檔的捕獲的圖像的方法,所述方法包括檢測捕獲的圖像中與所述成像的文檔和所述捕獲的圖像的其余部分之間的過渡相關的圖形信息;從對應于所述成像的文檔的邊緣的所述圖形信息中選擇一行或多行;基于對應于所述成像的文檔的邊緣的一行或多行,將所述成像的文檔與所述捕獲的圖像的背景隔離。
3.一種用于處理包括成像的文檔的捕獲的圖像的方法,所述方法包括檢測捕獲的圖像中與所述成像的文檔和所述捕獲的圖像的其余部分之間的過渡相關的圖形信息;從對應于所述成像的文檔的邊緣的所述圖形信息中選擇一行或多行;基于對應于所述成像的文檔的邊緣的一行或多行的交叉點,計算所述成像的文檔的拐角;基于對應于所述成像的文檔的邊緣的一行或多行,將所述成像的文檔與所述捕獲的圖像的背景隔離;計算成像的文檔的所述拐角的坐標和所述成像的文檔的非失真的透視圖的拐角的坐標之間的偏離;基于所述計算出的偏離,將所述成像的文檔的像素的坐標映射到與所述成像的文檔的非失真的透視圖相對應的坐標。
4.根據權利要求3所述的方法,進一步包括下列步驟將所述非失真的成像的文檔轉換為所述成像的文檔的雙色表示;計算所述雙色表示的沿著所述非失真的成像的文檔的垂直軸的像素濃度;計算所述雙色表示的沿著所述非失真的成像的文檔的水平軸的像素濃度;識別像素濃度中的沿著所述非失真的成像的文檔的垂直和水平軸的對比度;基于像素濃度中的所述對比度,識別所述成像的文檔的文本行;基于所述非失真的成像的文檔的所述文本行相對于成像的文檔的所述邊緣的尺寸的方向,確定所述非失真的成像的文檔的格式;根據所述非失真的成像的文檔的格式的所述確定結果,旋轉所述非失真的成像的文檔。
5.根據權利要求3所述的方法,進一步包括下列步驟將所述非失真的成像的文檔轉換為所述成像的文檔的雙色表示;計算所述雙色表示的沿著所述非失真的成像的文檔的垂直軸的像素濃度;計算所述雙色表示的沿著所述非失真的成像的文檔的水平軸的像素濃度;識別像素濃度中的沿著所述非失真的成像的文檔的垂直和水平軸的對比度;基于像素濃度中的所述對比度,識別所述成像的文檔的文本行;基于所述非失真的成像的文檔的所述文本行相對于成像的文檔的所述邊緣的尺寸的方向,確定所述非失真的成像的文檔的格式;根據所述非失真的成像的文檔的格式的所述確定結果,旋轉所述非失真的成像的文檔;沿著文本行的所述行的縱向軸,將所述文本行分為三個部分;基于所述文本行的所述部分的像素濃度的比較,確定所述文本行的方向;基于方向的所述確定結果,旋轉所述非失真的成像的文檔。
6.一種用于處理捕獲的圖像的系統,所述捕獲的圖像包括成像的文檔,所述系統包括用于檢測所述成像的文檔的邊緣的裝置;用于減少所述成像的文檔的失真的裝置;用于將所述捕獲的圖像旋轉到正確的方向的裝置。
7.一種用于捕獲包括文檔的圖像的設備,包括在其中放置所述文檔的基座;垂直地從所述基座延伸的支架,其中,所述支架安裝了數碼相機以捕獲所述圖像;耦接到所述數碼相機的用于存儲和處理所述圖像的系統。
8.根據權利要求7所述的設備,進一步包括用于處理所述圖像的計算機可讀介質,該計算機可讀介質承載有一個或多個指令的一個或多個序列,當由一個或多個處理器執(zhí)行時,使一個或多個處理器執(zhí)行下列計算機實現的步驟檢測所述捕獲的圖像中與所述成像的文檔的邊緣相關的圖形信息;基于與所述成像的文檔的邊緣相關的圖形信息,將所述成像的文檔與所述捕獲的圖像的背景隔離;計算所述成像的文檔與所述成像的文檔的非失真的透視圖的偏離;基于所述計算出的偏離,對所述成像的文檔的像素進行重新采樣;檢測所述捕獲的圖像中與所述成像的文檔的方向相關的圖形信息;基于與所述成像的文檔的方向相關的圖形信息,旋轉所述成像的文檔。
9.用于處理圖像的計算機可讀介質,該計算機可讀介質承載有一個或多個指令的一個或多個序列,當由一個或多個處理器執(zhí)行時,這些指令使一個或多個處理器執(zhí)行下列計算機實現的步驟檢測所述捕獲的圖像中與所述成像的文檔的邊緣相關的圖形信息;基于與所述成像的文檔的邊緣相關的圖形信息,將所述成像的文檔與所述捕獲的圖像的背景隔離;計算所述成像的文檔與所述成像的文檔的非失真的透視圖的偏離;基于所述計算出的偏離,對所述成像的文檔的像素進行重新采樣;檢測所述捕獲的圖像中與所述成像的文檔的方向相關的圖形信息;基于與所述成像的文檔的方向相關的圖形信息,旋轉所述成像的文檔。
10.一種用于處理捕獲的圖像的設備,所述捕獲的圖像包括成像的文檔,所述設備包括;一個或多個處理器;以及以通信方式耦接到一個或多個處理器的存儲器,該存儲器包括一個或多個指令的一個或多個序列,當由一個或多個處理器執(zhí)行時,這些指令使一個或多個處理器執(zhí)行下列步驟檢測所述捕獲的圖像中與所述成像的文檔的邊緣相關的圖形信息;基于與所述成像的文檔的邊緣相關的圖形信息,將所述成像的文檔與所述捕獲的圖像的背景隔離;計算所述成像的文檔與所述成像的文檔的非失真的透視圖的偏離;基于所述計算出的偏離,對所述成像的文檔的像素進行重新采樣;檢測所述捕獲的圖像中與所述成像的文檔的方向相關的圖形信息;基于與所述成像的文檔的方向相關的圖形信息,旋轉所述成像的文檔。
全文摘要
用于處理捕獲的圖像的設備和方法,具體來說,用于處理包括文檔的捕獲的圖像。在一個實施例中,描述了包括用于捕獲文檔的照像機的設備。在再一個實施例中,用于對包括文檔的捕獲的圖像進行處理的方法包括區(qū)別成像的文檔與其背景,調整捕獲的圖像以減少由于使用照像機產生的失真,并正確地對文檔進行定向。
文檔編號H04N1/407GK101048783SQ200580033677
公開日2007年10月3日 申請日期2005年7月29日 優(yōu)先權日2004年8月26日
發(fā)明者小愛德華·P.·希尼, 扎查理·安德里, 扎查理亞·克里格, 詹姆斯·達里尼安, 庫爾特·拉佩爾杰, 威廉姆·J.·阿達姆斯, 扎查理·B.·多德斯 申請人:計算機連接管理中心公司