本發(fā)明涉及圖像處理的技術(shù)領(lǐng)域,具體地涉及書寫板檢測(cè)和校正。
背景技術(shù):
書寫板(例如白板、黑板等)經(jīng)常用于許多不同的設(shè)置(例如學(xué)院、公司、非營(yíng)利機(jī)構(gòu)、住宅等)中??梢栽跁鴮懓迳喜贾梦谋?、圖畫、圖表、圖形等,以在講座、訓(xùn)練、集體討論會(huì)議等期間傳達(dá)想法。為了以電子方式記住這些想法,可以拍攝書寫板的照片,并且進(jìn)行圖像處理(例如光學(xué)字符識(shí)別(ocr)),以從圖像中提取書寫板的內(nèi)容。
當(dāng)(例如使用具有攝像頭的智能電話)拍攝照片時(shí),所得到的圖像可能包括書寫板外部的背景。此外,所得到的圖像也可能捕獲到具有透視失真(distortedperspective)的書寫板。背景和透視失真二者使圖像處理復(fù)雜化,并且不太可能成功地提取內(nèi)容。然而,用戶仍然希望通過拍攝書寫板來記住書寫板上的這些想法。
技術(shù)實(shí)現(xiàn)要素:
總體上,在一個(gè)方面,本發(fā)明涉及一種用于圖像處理的方法。該方法包括:獲得圖像,所述圖像包括書寫板和書寫板外部的背景;檢測(cè)圖像內(nèi)的多條線;基于多條線來確定圖像內(nèi)的書寫板的多個(gè)角;以及基于多個(gè)角通過對(duì)圖像應(yīng)用變換來校正書寫板的透視。
總體上,在一個(gè)方面,本發(fā)明涉及一種用于圖像處理的系統(tǒng)。該系統(tǒng)包括:用于存儲(chǔ)圖像的緩存器,所述圖像包括書寫板和書寫板外部的背景;用于檢測(cè)圖像內(nèi)的多條線的線處理器;用于基于多條線來確定圖像內(nèi)的書寫板的多個(gè)角的角檢測(cè)器;以及用于基于多個(gè)角通過對(duì)圖像應(yīng)用變換來校正書寫板的透視的校正引擎。
根據(jù)以下描述和所附權(quán)利要求,本發(fā)明的其他方面將變得明顯。
附圖說明
圖1示出了根據(jù)本發(fā)明的一個(gè)或更多個(gè)實(shí)施方式的系統(tǒng)。
圖2至圖4示出了根據(jù)本發(fā)明的一個(gè)或更多個(gè)實(shí)施方式的流程圖。
圖5a至圖5f示出了根據(jù)本發(fā)明的一個(gè)或更多個(gè)實(shí)施方式的實(shí)現(xiàn)示例。
圖6示出了根據(jù)本發(fā)明的一個(gè)或更多個(gè)實(shí)施方式的計(jì)算機(jī)系統(tǒng)。
具體實(shí)施方式
現(xiàn)在將參照附圖詳細(xì)描述本發(fā)明的具體實(shí)施方式。為了一致性,由相同的附圖標(biāo)記表示各個(gè)附圖中相同的元件。
在本發(fā)明的實(shí)施方式的下述的詳細(xì)描述中,陳述了許多具體細(xì)節(jié)以提供對(duì)本發(fā)明的更透徹的理解。然而,對(duì)本領(lǐng)域普通技術(shù)人員而言顯而易見的是,可以在沒有這些具體細(xì)節(jié)的情況下實(shí)施本發(fā)明。在其他實(shí)例中,沒有詳細(xì)描述公知特征以避免不必要地使描述復(fù)雜化。
總體上,本發(fā)明的實(shí)施方式提供了用于圖像處理的方法和系統(tǒng)。獲得包括書寫板和書寫板外部的背景的至少一部分的圖像。然后,檢測(cè)圖像內(nèi)的線(例如邊緣)。識(shí)別并移除位于圖像中的書寫板上的線和位于圖像的背景中的線(即,被排除在進(jìn)一步考慮之外)。一些剩余的線用于確定書寫板的角并計(jì)算用于偏移書寫板的透視失真的變換。當(dāng)通過對(duì)圖像應(yīng)用變換來校正書寫板的透視失真時(shí),可以執(zhí)行附加的圖像處理(例如ocr),以提取書寫板的內(nèi)容。通過首先至少部分地校正書寫板中的書寫板的透視失真,后續(xù)的圖像處理(例如ocr)將會(huì)更有可能成功。
圖1示出了根據(jù)本發(fā)明的一個(gè)或更多個(gè)實(shí)施方式的系統(tǒng)(100)。如圖1所示,系統(tǒng)(100)具有多個(gè)部件(例如緩存器(104)、線處理器(114)、角檢測(cè)器(110)和校正引擎(108))。這些部件(104,108,110,114)中的每個(gè)部件可以位于同一計(jì)算裝置(例如個(gè)人計(jì)算機(jī)(pc)、膝上型計(jì)算機(jī)、平板pc、智能電話、服務(wù)器、大型機(jī)、線纜箱、信息亭等)上,或者可以位于不同計(jì)算裝置上,由具有有線和/或無線部段的任何拓?fù)湟约叭魏未笮〉木W(wǎng)絡(luò)連接所述不同計(jì)算裝置。
在本發(fā)明的一個(gè)或更多個(gè)實(shí)施方式中,系統(tǒng)(100)包括緩存器(104)。緩存器(104)可以在硬件(即電路系統(tǒng))、軟件或其任意組合中實(shí)現(xiàn)。緩存器(104)存儲(chǔ)圖像(106)。圖像(106)包括書寫板和背景。圖像(106)的背景實(shí)際上是圖像(106)的沒有被書寫板占據(jù)的任何區(qū)域。圖像(106)可以捕獲具有透視失真的書寫板??梢詮娜魏蝸碓传@得圖像(106)。例如,可以從智能電話(未示出)的數(shù)字?jǐn)z像頭獲得圖像(106)。作為另一示例,可以通過網(wǎng)絡(luò)(例如因特網(wǎng))(未示出)獲得圖像(106)。作為又一示例,可以從硬盤驅(qū)動(dòng)器(未示出)獲得圖像(106)。圖像(106)可以是任何大小和任何分辨率。在本發(fā)明的一個(gè)或更多個(gè)實(shí)施方式中,緩存器(104)可以對(duì)圖像(106)進(jìn)行下采樣。特別地,如果圖像的分辨率超過預(yù)定閾值(例如圖像(106)處于高清晰度),則緩存器(104)可以對(duì)圖像(106)進(jìn)行下采樣。在其他部件(例如108,110,114)對(duì)圖像(106)進(jìn)行操作的同時(shí),緩存器(104)可以存儲(chǔ)圖像(106)。
在本發(fā)明的一個(gè)或更多個(gè)實(shí)施方式中,系統(tǒng)(100)包括線處理器(114)。線處理器(114)可以在硬件(即電路系統(tǒng))、軟件或其任意組合中實(shí)現(xiàn)。線處理器(114)被配置成對(duì)圖像(106)執(zhí)行邊緣檢測(cè)。換言之,線處理器(114)被配置成對(duì)圖像(106)內(nèi)的線進(jìn)行檢測(cè)。例如,線處理器(114)可以利用canny算法和/或hough變換來檢測(cè)圖像(106)中的線。線處理器(114)還可以移除(即,被排除在進(jìn)一步考慮之外)不夠長(zhǎng)的線(即,不超過長(zhǎng)度閾值的線)。線處理器(114)還可以將每條線分類為更接近豎直還是更接近水平。
得益于該詳細(xì)描述,本領(lǐng)域技術(shù)人員將理解的是,一條或更多條檢測(cè)到的線可以位于圖像中的書寫板上,一條或更多條檢測(cè)到的線可以位于圖像中的書寫板外部的背景中,并且一條或更多條檢測(cè)到的線可以與圖像(106)中的書寫板的輪廓(例如邊界、周邊等)對(duì)應(yīng)。
在本發(fā)明的一個(gè)或更多個(gè)實(shí)施方式中,線處理器(114)識(shí)別并移除(即,被排除在進(jìn)一步考慮之外)位于圖像(106)中的書寫板上的線。得益于該詳細(xì)描述,本領(lǐng)域技術(shù)人員將理解的是,如果線在書寫板上,則有可能在線的兩側(cè)的像素可以具有相似的強(qiáng)度值。因此,線處理器(114)可以對(duì)線的兩側(cè)的像素的強(qiáng)度值進(jìn)行比較,以確定所選擇的線在書寫板上。該處理可以包括條帶(strip)的使用(下面討論)。
在本發(fā)明的一個(gè)或更多個(gè)實(shí)施方式中,線處理器(114)識(shí)別并移除(即,被排除在進(jìn)一步考慮之外)位于圖像的背景中的線。特別地,線處理器(114)可以計(jì)算所選擇的線上的多個(gè)采樣點(diǎn),并且生成從參考點(diǎn)(例如圖像的中心)到每個(gè)采樣點(diǎn)的鏈接。如果鏈接在到達(dá)采樣點(diǎn)之前與其他線相交,則可以確定所選擇的線位于圖像(106)的背景中(下面討論)。
在一個(gè)或更多個(gè)實(shí)施方式中,系統(tǒng)(100)包括角檢測(cè)器(110)。角檢測(cè)器(110)可以在硬件(即電路系統(tǒng))、軟件或其任意組合中實(shí)現(xiàn)。角檢測(cè)器(110)被配置成確定圖像(106)中的書寫板的角。這可以包括:基于從圖像中心的法線取向,將剩余線劃分割成四個(gè)簇。在每個(gè)簇內(nèi),可以基于各種因素對(duì)線分等級(jí),所述因素包括至圖像(106)中心的接近度和長(zhǎng)度??梢曰诘燃?jí)來選擇四條線(每條來自四個(gè)簇中的每個(gè)簇),并且然后計(jì)算四條線的交叉點(diǎn)(即,相交點(diǎn))。假設(shè)所計(jì)算的交叉點(diǎn)不違反四邊形原則(下面討論),則將四個(gè)交叉點(diǎn)視為圖像(106)中的書寫板的角。
在本發(fā)明的一個(gè)或更多個(gè)實(shí)施方式中,系統(tǒng)(100)包括校正引擎(108)。校正引擎(108)可以在硬件(即電路系統(tǒng))、軟件或其任意組合中實(shí)現(xiàn)。校正引擎(108)被配置成基于所計(jì)算的相交點(diǎn)和四條線之間的距離來計(jì)算變換(下面討論)。校正引擎(108)還被配置成將變換應(yīng)用于圖像(106),以偏移(即,至少部分地校正)圖像(106)中的書寫板的透視失真(下面討論)。得益于該詳細(xì)描述,本領(lǐng)域技術(shù)人員將理解的是,通過偏移透視失真,應(yīng)用于圖像(106)的任何附加處理(例如ocr)在提取圖像(106)中的書寫板的內(nèi)容方面將會(huì)更有可能成功。
雖然圖1示出了系統(tǒng)(100)具有四個(gè)部件(104,108,110,114),但是在其他實(shí)施方式中,系統(tǒng)(100)可以具有更多或更少的部件。例如,系統(tǒng)(100)可以包括具有數(shù)字?jǐn)z像頭的智能電話以捕獲圖像(106)。作為另一示例,系統(tǒng)(100)可以包括附加引擎,以對(duì)圖像(106)執(zhí)行附加處理(例如ocr)來提取圖像(106)中的書寫板的內(nèi)容。
圖2示出了根據(jù)本發(fā)明的一個(gè)或更多個(gè)實(shí)施方式的流程圖。該流程圖描繪了用于圖像處理的處理。圖2中的步驟的一個(gè)或更多個(gè)可以由上面參照?qǐng)D1所討論的系統(tǒng)(100)的部件來執(zhí)行。在本發(fā)明的一個(gè)或更多個(gè)實(shí)施方式中,可以省略、重復(fù)以及/或者以與圖2所示順序不同的順序來執(zhí)行圖2所示步驟的一個(gè)或更多個(gè)。因此,本發(fā)明的范圍不應(yīng)被認(rèn)為限于圖2所示步驟的具體布置。
首先,獲得圖像(步驟205)??梢詮臄?shù)字相機(jī)獲得圖像。可以從服務(wù)器下載圖像。圖像可以包括書寫板(例如白板、黑板等)。書寫板可以占據(jù)圖像的中心。圖像還可以包括在書寫板外部的背景。背景可以出現(xiàn)在書寫板的四個(gè)側(cè)邊的一些側(cè)邊或所有側(cè)邊。
在步驟210中,可以對(duì)圖像進(jìn)行下采樣以增強(qiáng)邊緣的線性度。得益于該詳細(xì)描述,本領(lǐng)域技術(shù)人員應(yīng)理解,步驟210可以是可選的。
在步驟215中,在圖像中對(duì)線進(jìn)行檢測(cè)??梢酝ㄟ^應(yīng)用線檢測(cè)算法來對(duì)線進(jìn)行檢測(cè)。例如,可以通過對(duì)圖像應(yīng)用canny算法和/或hough變換來對(duì)圖像的線進(jìn)行檢測(cè)。還可以應(yīng)用用于線檢測(cè)的其他算法??梢砸瞥怀^長(zhǎng)度閾值的任何檢測(cè)到的線(即,短線)(即,被排除在進(jìn)一步考慮之外)。
得益于該詳細(xì)描述,本領(lǐng)域技術(shù)人員應(yīng)理解,一條或更多條檢測(cè)到的線可以位于圖像中的書寫板上,一條或更多條檢測(cè)到的線可以位于圖像中的書寫板外部的背景中,并且一條或更多條檢測(cè)到的線可以與書寫板的邊界對(duì)應(yīng)。
在步驟220中,識(shí)別并移除位于圖像中的書寫板上的線(即,被排除在進(jìn)一步考慮之外)。例如可以在圖3和圖5c中找到關(guān)于步驟220的額外細(xì)節(jié)。
在步驟225中,識(shí)別并移除位于圖像的背景上的線(即,被排除在進(jìn)一步考慮之外)。例如可以在圖4和圖5d中找到關(guān)于步驟225的額外細(xì)節(jié)。
在步驟230中,基于從圖像中心的法線取向,將剩余線劃分成四個(gè)簇。在每個(gè)簇內(nèi),可以對(duì)線分等級(jí)。例如,可以根據(jù)至圖像中心的接近度和/或長(zhǎng)度來對(duì)線分等級(jí)。僅具有一條線的簇是可能的。
在步驟235中,從四個(gè)簇中的每個(gè)簇中選擇一條線,得到四條線組。選擇可以是隨機(jī)的。換言之,可以從每個(gè)簇中隨機(jī)選擇一條線。另外地或可替選地,可以基于簇中的線的等級(jí)來從每個(gè)簇中選擇線。例如,可以從每個(gè)簇中選擇最高等級(jí)的線。作為另一示例,可以從每個(gè)簇中選擇最低等級(jí)的線。
在步驟240中,計(jì)算四條線的交叉點(diǎn)(即,相交點(diǎn))。得益于該詳細(xì)描述,本領(lǐng)域技術(shù)人員應(yīng)理解,計(jì)算四條線的交叉點(diǎn)可以包括延伸四條線的一條或更多條,直到它們與其他線相交為止。同樣得益于該詳細(xì)描述,本領(lǐng)域技術(shù)人員應(yīng)理解,存在四個(gè)交叉點(diǎn),并且可以用坐標(biāo)表示每個(gè)交叉點(diǎn)。
在步驟245中,確定所計(jì)算的交叉點(diǎn)是否違反四邊形原則。如果所計(jì)算的交叉點(diǎn)的一個(gè)或更多個(gè)位于靠近線段的中心(即,在預(yù)定距離內(nèi)),則違反四邊形原則。另外地或可替選地,如果線中的兩個(gè)交叉點(diǎn)在線的一側(cè)上,則違反四邊形原則。以不同的方式描述,如上所述,為了計(jì)算交叉點(diǎn),線可以沿兩個(gè)方向延伸(沿方向a延伸,沿方向b延伸),以與其他線相交。如果線中的兩個(gè)交叉點(diǎn)處于線的同一延伸(即,都處于沿方向a延伸或者都處于沿方向b延伸),則違反四邊形原則。在確定所計(jì)算的交叉點(diǎn)不違反四邊形原則的情況下,處理行進(jìn)至步驟250。交叉點(diǎn)被認(rèn)為是圖像中書寫板的四個(gè)角。然而,在確定所計(jì)算的交叉點(diǎn)確實(shí)違反四邊形原則的情況下,處理返回到步驟235,其中,用來自同一簇的不同線來替換該線組的至少一條線。
在步驟250中,基于四條線之間的距離和交叉點(diǎn)來計(jì)算變換。例如,假設(shè)w是四條線組中的一條豎直線的中點(diǎn)與另一條豎直線的中點(diǎn)之間的距離。此外,假設(shè)h是四條線組中的一條水平線的中點(diǎn)與另一條水平線的中點(diǎn)之間的距離。變換可以是用于將交叉點(diǎn)的坐標(biāo)映射到下述坐標(biāo)的仿射變換:(0,0)、(w,0)、(0,h)和(w,h)。得益于該詳細(xì)描述,本領(lǐng)域技術(shù)人員應(yīng)理解,w/h用作縱橫比。
在步驟255中,通過對(duì)圖像應(yīng)用變換來至少部分地校正透視失真。在應(yīng)用變換之后,對(duì)圖像執(zhí)行任何處理(例如ocr)以提取圖像中的書寫板的內(nèi)容將更有可能成功(步驟260)。得益于該詳細(xì)描述,本領(lǐng)域技術(shù)人員應(yīng)理解,步驟260是可選的。
圖3示出了根據(jù)本發(fā)明的一個(gè)或更多個(gè)實(shí)施方式的流程圖。該流程圖描繪了用于識(shí)別位于圖像中的書寫板上的線的處理。圖3中的步驟的一個(gè)或更多個(gè)可以由上面參照?qǐng)D1所討論的系統(tǒng)(100)的部件來執(zhí)行。在本發(fā)明的一個(gè)或更多個(gè)實(shí)施方式中,可以省略、重復(fù)以及/或者以與圖3所示順序不同的順序來執(zhí)行圖3所示步驟的一個(gè)或更多個(gè)。因此,本發(fā)明的范圍不應(yīng)被認(rèn)為限于圖3所示步驟的具體布置。此外,圖3所示的處理可以對(duì)應(yīng)于上面參照?qǐng)D2所討論的步驟220。
首先,選擇圖像中的檢測(cè)到的線中的一條線(步驟305)。可以從所有檢測(cè)到的線中隨機(jī)選擇線。另外或可替代地,可以因?yàn)榫€是最長(zhǎng)的線、線是最短的線,線最靠近圖像的中心、線離圖像的中心最遠(yuǎn)等而對(duì)其進(jìn)行選擇。
在步驟310中,針對(duì)該線生成多個(gè)條帶。如果線被分類為豎直,則條帶是水平的。如果線被分類為水平,則條帶是豎直的。條帶從線的一側(cè)跨越到線的另一側(cè)。每個(gè)條帶包括來自線的每側(cè)的多個(gè)像素(例如2、3、10等)。例如,如果線被分類為豎直,則每個(gè)條帶是水平的,并且可以包括來自線的左側(cè)的3個(gè)像素和來自線的右側(cè)的3個(gè)像素。作為另一示例,如果線被分類為水平,則每個(gè)條帶是豎直的,并且可以包括在線的下方的3個(gè)像素和在線的上方的3個(gè)像素。
在步驟315中,針對(duì)每個(gè)條帶識(shí)別線的兩側(cè)的像素的強(qiáng)度值。對(duì)于給定的條帶,可以針對(duì)線的每側(cè)對(duì)這些強(qiáng)度值進(jìn)行排序。例如,在水平條帶中,線的左側(cè)的像素的強(qiáng)度值可以在它們自己之中進(jìn)行排序,以及線的右側(cè)的像素的強(qiáng)度值可以在它們自己之中進(jìn)行排序。
在步驟320中,針對(duì)線的兩側(cè)來逐條帶地計(jì)算統(tǒng)計(jì)強(qiáng)度值。例如,統(tǒng)計(jì)強(qiáng)度值可以與位于條帶中的線的一側(cè)的像素中的平均強(qiáng)度值或中值強(qiáng)度值對(duì)應(yīng)。另外或可替代地,統(tǒng)計(jì)強(qiáng)度值可以與位于條帶中的線的一側(cè)的像素的40%強(qiáng)度值(i40)和60%強(qiáng)度值(i60)對(duì)應(yīng)。
在步驟325中,識(shí)別均勻強(qiáng)度條帶(uis)。uis是其中線的一側(cè)的統(tǒng)計(jì)強(qiáng)度值與線的另一側(cè)的統(tǒng)計(jì)強(qiáng)度值匹配(即,相等或近似相等)的條帶。例如,在水平條帶的情況下,如果線的左側(cè)的像素的i40值和i60值分別與線的右側(cè)的像素的i40值和i60值匹配,則條帶被認(rèn)為是uis。作為另一示例,在豎直條帶的情況下,如果條帶中線的上方的像素的中值強(qiáng)度值與條帶中的線的下方的像素的中值強(qiáng)度值匹配,則條帶被認(rèn)為是uis。
在步驟330中,確定所識(shí)別的uis的數(shù)量(即,所識(shí)別的uis的基數(shù))是否超過閾值。例如,閾值可以是所選擇的線的所有條帶的1/3。在確定所識(shí)別的uis的數(shù)量超過閾值的情況下,該線被認(rèn)為是位于圖像中的書寫板上(步驟335)。然而,在uis的數(shù)量沒有超過閾值的情況下,線被認(rèn)為是沒有位于圖像中的書寫板上(步驟340)。
得益于該詳細(xì)描述,本領(lǐng)域技術(shù)人員應(yīng)理解,可以針對(duì)圖像中的尚未被移除(即,被排除在進(jìn)一步考慮之外)的每條檢測(cè)到的線來重復(fù)圖3所描繪的處理。換言之,可以多次重復(fù)圖3所描繪的處理。
圖4示出了根據(jù)本發(fā)明的一個(gè)或更多個(gè)實(shí)施方式的流程圖。該流程圖描繪了用于識(shí)別位于圖像中的書寫板外部的背景中的線的處理。圖4中的步驟的一個(gè)或更多個(gè)可以由上面參照?qǐng)D1所討論的系統(tǒng)(100)的部件來執(zhí)行。在本發(fā)明的一個(gè)或更多個(gè)實(shí)施方式中,可以省略、重復(fù)以及/或者以與圖4所示順序不同的順序來執(zhí)行圖4所示步驟的一個(gè)或更多個(gè)。因此,本發(fā)明的范圍不應(yīng)被認(rèn)為限于圖4所示步驟的具體布置。此外,圖4所示的處理可以對(duì)應(yīng)于上面參照?qǐng)D2所討論的步驟225。
首先,選擇圖像中的檢測(cè)到的線中的一條線(步驟405)??梢詮乃袡z測(cè)到的線中隨機(jī)選擇線。另外或可替代地,可以因?yàn)樵摼€是最長(zhǎng)的線、是最短的線,最靠近圖像的中心、離圖像的中心最遠(yuǎn)等而對(duì)其進(jìn)行選擇。
在步驟410中,針對(duì)所選擇的線計(jì)算多個(gè)采樣點(diǎn)。在一個(gè)或更多個(gè)實(shí)施方式中,采樣點(diǎn)的數(shù)量基于線的長(zhǎng)度。如果所選擇的線的長(zhǎng)度為l,則在所選擇的線上以l/10間隔(或l/2間隔、l/4間隔、l/5間隔、l/8間隔、l/16間隔等)來布置采樣點(diǎn)。另外或可替代地,可以在不管所選擇的線的長(zhǎng)度如何的情況下下使用固定數(shù)量的采樣點(diǎn)。可以沿著所選擇的線以隨機(jī)距離來間隔開采樣點(diǎn)。另外或可替代地,采樣點(diǎn)僅被布置在所選擇的線的末端。
在步驟415中,生成從參考點(diǎn)到所選擇的線上的采樣點(diǎn)的鏈接。鏈接本身實(shí)際上是線段。參考點(diǎn)可以對(duì)應(yīng)于圖像的中心。另外或可替代地,參考點(diǎn)可以接近圖像的中心(例如位于包括圖像中心的小區(qū)域中)。
在步驟420中,識(shí)別與其他線的鏈接相交點(diǎn)。鏈接相交點(diǎn)實(shí)際上是在鏈接到達(dá)所選擇的鏈接的采樣點(diǎn)之前鏈接與另一條線的相交點(diǎn)。一些鏈接可以沒有鏈接相交點(diǎn)。單個(gè)鏈接可以具有多個(gè)鏈接相交點(diǎn)。
在步驟425中,確定鏈接相交點(diǎn)的總數(shù)(即,所有鏈接的從參考點(diǎn)到所選擇的線的鏈接相交點(diǎn))是否超過閾值(例如1、5、6、10、11等)。在確定鏈接相交點(diǎn)的總數(shù)超過閾值的情況下,所選擇的線被認(rèn)為位于圖像中的書寫板外部的背景中(步驟430)。在確定鏈接相交點(diǎn)的總數(shù)未超過閾值的情況下,所選擇的線不被認(rèn)為位于背景中(步驟435)。
得益于該詳細(xì)描述,本領(lǐng)域技術(shù)人員應(yīng)理解,可以針對(duì)圖像中的未被移除(即,被排除在進(jìn)一步考慮之外)的每條檢測(cè)到的線來重復(fù)圖4所描繪的處理。換言之,可以多次重復(fù)圖4所描繪的處理。
圖5a至圖5f示出了根據(jù)本發(fā)明的一個(gè)或更多個(gè)實(shí)施方式的實(shí)現(xiàn)示例。如圖5a所示,存在具有白板(508)的圖像(506)。圖像(506)中的白板(508)的透視失真。對(duì)圖像(506)執(zhí)行ocr或其他類型的圖像處理將可能產(chǎn)生差的結(jié)果。換言之,由于透視失真,圖像處理可能從圖像(506)中不能正確地提取白板(508)的內(nèi)容。
圖5b示出了線檢測(cè)之后的圖像(510)。如圖5b所示,檢測(cè)到的線包括:位于白板(508)上的線、對(duì)應(yīng)于白板(508)的輪廓(例如周邊、邊界)的線以及位于白板(508)外部的背景中的線。
圖5c示出了檢測(cè)到的線中的一條線(514)和生成的多個(gè)條帶(即,條帶a(516a)、條帶c(516c)、條帶e(516e))。由于線(514)近似豎直,所以所生成的條帶是水平的并且從線(514)的左側(cè)伸展(run)到線(514)的右側(cè)。每個(gè)條帶(516a、516c、516e)包括位于線(514)的左側(cè)的像素(512)和位于線(514)的右側(cè)的像素??紤]條帶c(516c)??梢葬槍?duì)線(514)的左側(cè)的條帶c(516c)的像素來計(jì)算一個(gè)或更多個(gè)統(tǒng)計(jì)強(qiáng)度值(例如i40、i60)。可以針對(duì)線(514)的右側(cè)的條帶c(516c)的像素來計(jì)算一個(gè)或更多個(gè)統(tǒng)計(jì)強(qiáng)度值(例如i40、i60)。如果來自線(514)的兩側(cè)的統(tǒng)計(jì)強(qiáng)度值匹配,則條帶c(516c)被認(rèn)為是均勻強(qiáng)度條帶。如果所有條帶(516a、516c、516e等)的至少三分之一是均勻強(qiáng)度條帶,則線(514)被認(rèn)為位于圖像中的白板(508)上。
圖5d示出了檢測(cè)到的線(524)和接近圖像中心的參考點(diǎn)(520)。還如圖5d所示,針對(duì)檢測(cè)到的線(524)來計(jì)算多個(gè)采樣點(diǎn)(522)。生成從參考點(diǎn)(520)到采樣點(diǎn)(522)的多個(gè)鏈接(525)。存在位于參考點(diǎn)(520)與檢測(cè)到的線(524)之間的其他檢測(cè)到的線(即,另一條線a(526)、另一條線b(528))。因此,一些鏈接與其他線(526,528)相交。在鏈接相交點(diǎn)的數(shù)量超過閾值(例如5)的情況下,檢測(cè)到的線(524)被認(rèn)為位于圖像中的白板(508)外部的背景中。
圖5e示出了多個(gè)簇(即,簇a(530a)、簇b(530b)、簇c(530c)和簇d(530d))。簇(530a,530b,530c,530d)包括針對(duì)水平線(530b,530d)的兩個(gè)簇和針對(duì)豎直線(530a,530c)的兩個(gè)簇。在每個(gè)簇(530a,530b,530c,530d)內(nèi),可以根據(jù)長(zhǎng)度、距圖像中心的距離等來對(duì)線分等級(jí)。通過從每個(gè)簇(530a,530b,530c,530d)中選擇一條線來形成四條線組。
圖5f示出了四條線組的交叉點(diǎn)的計(jì)算。由于交叉點(diǎn)不違反四邊形原則,所以這些交叉點(diǎn)被認(rèn)為是圖像中的白板(508)的角。因此,可以基于交叉點(diǎn)的坐標(biāo)和四條線之間的距離(w,h)來計(jì)算仿射變換。可以將該變換應(yīng)用于圖像,以至少部分地校正書寫板的透視失真。在應(yīng)用變換之后,圖像更適于附加圖像處理(例如ocr),以提取白板(508)的內(nèi)容。
本發(fā)明的一個(gè)或更多個(gè)實(shí)施方式可以具有下述優(yōu)點(diǎn):至少部分地校正圖像中的書寫板的透視失真的能力;識(shí)別并且移除位于圖像中的書寫板上的線的能力;識(shí)別并移除位于圖像中的書寫板外部的背景中的線的能力;基于鏈接相交點(diǎn)來確定線位于背景中的能力;使用統(tǒng)計(jì)強(qiáng)度值和均勻強(qiáng)度條帶來確定線位于書寫板上的能力;等。
不管所使用的平臺(tái)如何,本發(fā)明的實(shí)施方式實(shí)際上可以在任何類型的計(jì)算系統(tǒng)上實(shí)現(xiàn)。例如,計(jì)算系統(tǒng)可以是一個(gè)或更多個(gè)移動(dòng)裝置(例如膝上型計(jì)算機(jī)、智能電話、個(gè)人數(shù)字助理、平板計(jì)算機(jī)或其他移動(dòng)裝置)、臺(tái)式計(jì)算機(jī)、服務(wù)器、服務(wù)器機(jī)箱中的刀片或任何其他類型的計(jì)算裝置或者至少包括最小處理電源、存儲(chǔ)器以及一個(gè)或多個(gè)輸入裝置和輸出裝置以執(zhí)行本發(fā)明的一個(gè)或更多個(gè)實(shí)施方式的裝置。例如,如圖6所示,計(jì)算系統(tǒng)(600)可以包括一個(gè)或更多個(gè)計(jì)算機(jī)處理器(602)、關(guān)聯(lián)的存儲(chǔ)器(604)(例如隨機(jī)存取存儲(chǔ)器(ram)、高速緩存存儲(chǔ)器、閃存等)、一個(gè)或更多個(gè)存儲(chǔ)裝置606(例如硬盤、光盤驅(qū)動(dòng)器如高密度磁盤(cd)驅(qū)動(dòng)器或數(shù)字通用盤(dvd)驅(qū)動(dòng)器、閃存棒等)以及許多其他元件和功能。一個(gè)或更多個(gè)計(jì)算機(jī)處理器(602)可以是用于處理指令的集成電路。例如,一個(gè)或更多個(gè)計(jì)算機(jī)處理器可以是處理器的一個(gè)或更多個(gè)內(nèi)核或微內(nèi)核。計(jì)算系統(tǒng)(600)還可以包括一個(gè)或更多個(gè)輸入裝置(610),如觸摸屏、鍵盤、鼠標(biāo)、麥克風(fēng)、觸摸板、電子筆或任何其他類型的輸入裝置。此外,計(jì)算系統(tǒng)(600)可以包括一個(gè)或更多個(gè)輸出裝置(608),如屏幕(例如液晶顯示器(lcd)、等離子體顯示器、觸摸屏、陰極射線管(crt)監(jiān)測(cè)器,投影儀或其他顯示裝置)、打印機(jī)、外部存儲(chǔ)器或任何其他輸出裝置。一個(gè)或更多個(gè)輸出裝置可以與一個(gè)或更多個(gè)輸入裝置相同或不同。計(jì)算系統(tǒng)(600)可以經(jīng)由網(wǎng)絡(luò)接口連接(未示出)連接到網(wǎng)絡(luò)(612)(例如局域網(wǎng)(lan)、廣域網(wǎng)(wan)如因特網(wǎng)、移動(dòng)網(wǎng)絡(luò)或任何其他類型的網(wǎng)絡(luò))。一個(gè)或更多個(gè)輸入裝置和輸出裝置可以本地或遠(yuǎn)程(例如經(jīng)由網(wǎng)絡(luò)(612))連接到一個(gè)或更多個(gè)計(jì)算機(jī)處理器(602)、存儲(chǔ)器(604)和一個(gè)或更多個(gè)存儲(chǔ)裝置(606)。存在許多不同類型的計(jì)算系統(tǒng),而且前述的一個(gè)或更多個(gè)輸入裝置和輸出裝置可以采取其他形式。
采用執(zhí)行本發(fā)明的實(shí)施方式的計(jì)算機(jī)可讀程序代碼形式的軟件指令可以被全部或部分地、臨時(shí)或永久地存儲(chǔ)在非暫態(tài)計(jì)算機(jī)可讀介質(zhì)上,非暫態(tài)計(jì)算機(jī)可讀介質(zhì)如cd、dvd、存儲(chǔ)裝置、軟磁盤、磁帶、閃存、物理存儲(chǔ)器或任何其他計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。特別地,軟件指令可以與以下計(jì)算機(jī)可讀程序代碼對(duì)應(yīng),當(dāng)由一個(gè)或更多個(gè)處理器執(zhí)行所述計(jì)算機(jī)可讀程序代碼時(shí),其被配置成執(zhí)行本發(fā)明的實(shí)施方式。
此外,前述計(jì)算系統(tǒng)(600)的一個(gè)或更多個(gè)元件可以位于遠(yuǎn)程位置處,并且通過網(wǎng)絡(luò)(612)連接到其他元件。此外,本發(fā)明的一個(gè)或更多個(gè)實(shí)施方式可以在具有多個(gè)節(jié)點(diǎn)的分布式系統(tǒng)上實(shí)現(xiàn),其中,本發(fā)明的每個(gè)部分可以位于分布式系統(tǒng)內(nèi)的不同節(jié)點(diǎn)上。在本發(fā)明的一個(gè)實(shí)施方式中,節(jié)點(diǎn)與不同的計(jì)算裝置對(duì)應(yīng)??商娲?,節(jié)點(diǎn)可以與具有相關(guān)聯(lián)的物理存儲(chǔ)器的計(jì)算機(jī)處理器對(duì)應(yīng)。節(jié)點(diǎn)可以可替代地對(duì)應(yīng)于計(jì)算機(jī)處理器或具有共享存儲(chǔ)器和/或資源的計(jì)算機(jī)處理器的微內(nèi)核。
雖然已關(guān)于有限數(shù)量的實(shí)施方式描述了本發(fā)明,但是得益于本公開內(nèi)容,本領(lǐng)域技術(shù)人員應(yīng)理解,可以設(shè)計(jì)出不脫離文中所公開的本發(fā)明的范圍的其他實(shí)施方式。因此,本發(fā)明的范圍應(yīng)僅由所附權(quán)利要求限制。