專利名稱:掃描識(shí)別裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)外圍設(shè)備領(lǐng)域,涉及一種掃描識(shí)別裝置和方法,具體涉及一種掃描識(shí)別所選擇的字符序列的裝置和方法。
背景技術(shù):
電子掃描筆(簡稱掃描筆)是OCR的重要應(yīng)用之一。掃描筆的光學(xué)攝像頭按照一定頻率對被掃描資料進(jìn)行連續(xù)拍照,獲取被掃描資料的圖像幀序列,然后將圖像幀序列拼接成一幅全景圖像后進(jìn)行OCR處理。用戶在使用掃描筆掃描時(shí),其掃描速度是變化的,一種典型的使用方式是,在剛剛開始掃描時(shí),掃描筆的掃描速度從零開始逐漸增大,然后達(dá)到一個(gè)速度峰值,此后速度逐漸下降,直到掃描結(jié)束,在保證速度峰值時(shí)相鄰圖像幀之間有一定重疊內(nèi)容的情況下,掃描速度越低,相鄰圖像幀之間的重疊內(nèi)容越多,換言之,當(dāng)掃描速度較小時(shí),當(dāng)前圖像幀不但與其前一圖像幀有重疊內(nèi)容,而且很可能與其前一幀之前的一個(gè)或多個(gè)圖像幀也有一定的重疊內(nèi)容,當(dāng)掃描速度很小時(shí),當(dāng)前圖像幀一定與其前一幀之前的一個(gè)或多個(gè)圖像幀有一定的重疊內(nèi)容。另外,隨著硬件技術(shù)的提高,為了提高掃描筆支持的掃描速度峰值,提高用戶的使用感受,可以使用更高采樣頻率的光學(xué)傳感器,當(dāng)掃描筆的光學(xué)傳感器采樣頻率提高時(shí),相比于較低的采樣頻率,在相同掃描速度下當(dāng)前圖像幀與其前一幀之前的一個(gè)或多個(gè)圖像幀有一定的重疊內(nèi)容的概率更高。授權(quán)公告號CN1160657C的專利公開了一種文字的記錄方法和裝置,該裝置掃過選擇字符序列時(shí),光學(xué)傳感器同步記錄多個(gè)內(nèi)容部分重疊的圖像,信號處理單元將這些圖像水平、垂直地組合成為一幅全景圖像,并將全景圖像中的字符識(shí)別后存儲(chǔ)在裝置中。但該發(fā)明的信號處理單元只能通過重疊內(nèi)容將每個(gè)圖像幀與前一個(gè)圖像幀垂直地和水平地組合,這樣每兩幀相鄰的圖像幀就必然進(jìn)行組合。在當(dāng)前圖像幀與其前一幀之前的一個(gè)或多個(gè)圖像幀也有一定的重疊內(nèi)容時(shí),每兩幀相鄰的圖像幀進(jìn)行組合拼接的方式,不但使信號處理單元的負(fù)荷大大加重,占用了硬件資源,而且也降低了整個(gè)圖像幀序列的拼接速度。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題為提供了一種掃描識(shí)別裝置和方法,通過對采集到的圖像幀序列中的圖像幀進(jìn)行篩選,對得到的待拼接圖像幀根據(jù)重疊內(nèi)容進(jìn)行拼接,降低了控制模塊的處理負(fù)荷,提高了整個(gè)圖像幀序列的拼接速度。本發(fā)明公開了一種掃描識(shí)別裝置,包括用于拍攝圖像的光學(xué)傳感器和用于處理圖像及識(shí)別字符的控制模塊,所述光學(xué)傳感器對被掃描字符進(jìn)行連續(xù)拍攝以得到含有被掃描字符的圖像幀序列,所述圖像幀序列中每幀圖像的內(nèi)容與前一幀圖像的內(nèi)容部分重疊;所述控制模塊通過重疊內(nèi)容將圖像幀序列中的每幀圖像與相關(guān)的圖像幀進(jìn)行拼接合成一個(gè)全景圖像,對所述全景圖像進(jìn)行傾斜校正后進(jìn)行字符識(shí)別,得到被掃描字符的字符編碼。
所述控制模塊包括設(shè)置單元,設(shè)置圖像幀序列中的當(dāng)前幀的幀屬性,形成圖像幀組,幀屬性包括基準(zhǔn)幀、預(yù)測幀和跳過幀;預(yù)測單元,根據(jù)當(dāng)前幀的幀屬性及相關(guān)圖像幀的拼接信息的更新值計(jì)算當(dāng)前幀的拼接信息的預(yù)測值;搜索單元,根據(jù)當(dāng)前幀的拼接信息的預(yù)測值搜索當(dāng)前幀的拼接信息的計(jì)算值;更新單元,根據(jù)當(dāng)前幀的拼接信息的計(jì)算值計(jì)算當(dāng)前幀的拼接信息的更新值,轉(zhuǎn)至設(shè)置單元,直至圖像幀序列中各基準(zhǔn)幀、預(yù)測幀的拼接信息的更新值計(jì)算完畢;拼接單元、根據(jù)計(jì)算完畢的各基準(zhǔn)幀、預(yù)測幀的拼接信息的計(jì)算值拼接為全景圖像。本發(fā)明還公開了一種掃描識(shí)別方法,包括如下步驟步驟一,對被掃描字符進(jìn)行連續(xù)拍攝以得到含有被掃描字符的圖像幀序列,所述圖像幀序列中每幀圖像的內(nèi)容與前一幀圖像的內(nèi)容部分重疊;步驟二,裝置中的控制模塊通過重疊內(nèi)容將圖像幀序列中的每幀圖像與相關(guān)的圖像幀進(jìn)行拼接合成一個(gè)全景圖像;步驟三,對所述全景圖像進(jìn)行傾斜校正后進(jìn)行字符識(shí)別,得到被掃描字符的字符編碼。進(jìn)一步,所述方法的步驟二包括步驟a,設(shè)置圖像幀序列中的當(dāng)前幀的幀屬性,形成圖像幀組,幀屬性包括基準(zhǔn)幀、 預(yù)測幀和跳過幀;步驟b,根據(jù)當(dāng)前幀的幀屬性及相關(guān)圖像幀的拼接信息的更新值計(jì)算當(dāng)前幀的拼接信息的預(yù)測值;步驟C,根據(jù)當(dāng)前幀的拼接信息的預(yù)測值搜索當(dāng)前幀的拼接信息的計(jì)算值;步驟d,根據(jù)當(dāng)前幀的拼接信息的計(jì)算值計(jì)算當(dāng)前幀的拼接信息的更新值,轉(zhuǎn)至步驟a,直至圖像幀序列中各基準(zhǔn)幀、預(yù)測幀的拼接信息的更新值計(jì)算完畢;步驟e、根據(jù)計(jì)算完畢的各基準(zhǔn)幀、預(yù)測幀的拼接信息的計(jì)算值拼接為全景圖像。本發(fā)明公開的一種掃描識(shí)別裝置和方法,通過控制模塊對光學(xué)傳感器采集到的圖像幀序列中的圖像幀進(jìn)行篩選,根據(jù)得到的待拼接圖像幀中的重疊內(nèi)容進(jìn)行拼接,降低了控制模塊的處理負(fù)荷,提高了整個(gè)圖像幀序列的拼接速度。
圖1為本發(fā)明掃描識(shí)別裝置的示意圖;圖2為本發(fā)明掃描識(shí)別裝置的結(jié)構(gòu)框圖;圖3為本發(fā)明掃描識(shí)別方法的流程圖;圖4為本發(fā)明掃描識(shí)別方法中步驟二的流程圖;圖5為本發(fā)明掃描識(shí)別裝置和方法中圖像幀組的示意圖;圖6為本發(fā)明掃描識(shí)別裝置和方法實(shí)施例中各圖像幀及相關(guān)數(shù)據(jù)的示意圖;圖7為本發(fā)明掃描識(shí)別裝置和方法的實(shí)施例中全景二值圖像;圖8為本發(fā)明掃描識(shí)別裝置和方法的實(shí)施例中全景二值圖像進(jìn)行傾斜校正后的結(jié)果示意圖。圖中1、殼體 2、控制模塊 3、電路板 4、電池 5、光學(xué)傳感器6、按鍵 7、存儲(chǔ)器 8、液晶屏 9、USB模塊 10、顯示單元 11、TTS模塊12、鏡頭組 13、照明單元
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。本發(fā)明公開了一種掃描識(shí)別裝置,如圖1、圖2所示,包括如下組件用于封裝并固定裝置組件的殼體1,用于圖像處理及文字識(shí)別的控制模塊2,用于集成組件的電路板3, 用于為裝置各組件供電的電池4,用于使字符成像的光學(xué)傳感器5,用于觸發(fā)采集操作的按鍵6,用于裝載信號處理程序的存儲(chǔ)器7,用于顯示輸出信息的液晶屏8,用于連接計(jì)算機(jī)的 USB模塊9,用于驅(qū)動(dòng)液晶屏8的顯示單元10和用于輸出語音的TTS模塊11。電路板3集成光學(xué)傳感器5、存儲(chǔ)器7、控制模塊2、顯示單元10、TTS模塊11和USB模塊9。殼體1封裝液晶屏8、電池4、按鍵6和電路板3。按鍵6與電路板3上的光學(xué)傳感器5連接,將控制信號發(fā)送到光學(xué)傳感器5。光學(xué)傳感器5對文本頁中的被掃描字符進(jìn)行連續(xù)拍攝,以得到含有被掃描字符的圖像幀序列,所述圖像幀序列中每幀圖像的內(nèi)容與前一幀圖像的內(nèi)容部分重疊;控制模塊2通過重疊內(nèi)容將圖像幀序列中的每幀圖像與相關(guān)的圖像幀進(jìn)行拼接,對拼接得到的全景圖像傾斜校正后調(diào)用存儲(chǔ)器7中的識(shí)別引擎進(jìn)行字符識(shí)別,得到被掃描字符的字符編碼。如圖2所示,電路板3集成控制模塊2、存儲(chǔ)器7、光學(xué)傳感器5、顯示單元10、TTS 模塊11和USB模塊9。控制模塊2分別連接存儲(chǔ)器7、光學(xué)傳感器5、顯示單元10和TTS模塊11。在控制模塊2的控制下,用戶通過按鍵6觸發(fā),將控制信號發(fā)送到光學(xué)傳感器5,光學(xué)傳感器5進(jìn)行圖像信息采集,得到的圖像幀序列,所述圖像幀序列中每幀圖像的內(nèi)容與前一幀圖像的內(nèi)容部分重疊;控制模塊2通過重疊內(nèi)容將圖像幀序列中的每幀圖像與相關(guān)的圖像幀進(jìn)行拼接,對拼接得到的全景圖像傾斜校正后調(diào)用存儲(chǔ)器7中的識(shí)別引擎進(jìn)行字符識(shí)別,并將識(shí)別后形成的被掃描字符的字符編碼在存儲(chǔ)器7中進(jìn)行存儲(chǔ)。顯示單元10可調(diào)用存儲(chǔ)在存儲(chǔ)器7中識(shí)別出的待掃描字符在液晶屏8上進(jìn)行顯示,控制模塊2可根據(jù)控制信號將被掃描字符的字符編碼發(fā)送到TTS模塊11,由TTS模塊11輸出真人語音。所述控制模塊2包括設(shè)置單元,設(shè)置圖像幀序列中的當(dāng)前幀的幀屬性,形成圖像幀組,幀屬性包括基準(zhǔn)幀、預(yù)測幀和跳過幀;預(yù)測單元,根據(jù)當(dāng)前幀的幀屬性及相關(guān)圖像幀的拼接信息的更新值計(jì)算當(dāng)前幀的拼接信息的預(yù)測值;搜索單元,根據(jù)當(dāng)前幀的拼接信息的預(yù)測值搜索當(dāng)前幀的拼接信息的計(jì)算值;更新單元,根據(jù)當(dāng)前幀的拼接信息的計(jì)算值計(jì)算當(dāng)前幀的拼接信息的更新值,轉(zhuǎn)至設(shè)置單元,直至圖像幀序列中各基準(zhǔn)幀、預(yù)測幀的拼接信息的更新值計(jì)算完畢;
拼接單元、根據(jù)計(jì)算完畢的各基準(zhǔn)幀、預(yù)測幀的拼接信息的計(jì)算值拼接為全景圖像。如圖1所示,本發(fā)明還包括,用于攝取圖像信息的鏡頭組12 ;用于照明待掃描字符的照明單元13。所述鏡頭組12的焦距為5至7mm,光圈10以上,保證了鏡頭組12達(dá)到的景深為30至50mm,可以有效的將文字信息進(jìn)行掃描,保證了良好的應(yīng)用效果。當(dāng)用戶進(jìn)行掃描時(shí),照明單元13處于開啟狀態(tài),照明單元13發(fā)出光束并在被掃描字符上形成光斑,同時(shí)鏡頭組12將照明單元13定位的圖像信息攝取到集成于電路板3上的光學(xué)傳感器5上, 光學(xué)傳感器5對被掃描字符進(jìn)行連續(xù)拍攝,得到含有被掃描字符的圖像幀序列,所述圖像幀序列中每幀圖像的內(nèi)容與前一幀圖像的內(nèi)容部分重疊??刂颇K2根據(jù)所述裝置的掃描速度將圖像幀序列劃分為圖像幀組,對圖像幀組中的圖像幀進(jìn)行篩選得到待拼接圖像幀, 并將各圖像幀組對應(yīng)的待拼接圖像幀進(jìn)行拼接,圖像幀組包括基準(zhǔn)幀、預(yù)測幀和跳過幀;其中,只有基準(zhǔn)幀、預(yù)測幀參與拼接,從而形成全景圖像。圖像幀組中的跳過幀數(shù)目大于等于 0。松開按鍵6時(shí),光學(xué)傳感器5停止對被掃描字符進(jìn)行拍攝,本次圖像掃描的過程結(jié)束。對拼接得到的全景圖像傾斜校正后調(diào)用存儲(chǔ)器7中的識(shí)別引擎進(jìn)行字符識(shí)別,得到被掃描字符的字符編碼并存儲(chǔ)到存儲(chǔ)器7中。本發(fā)明還公開了一種掃描識(shí)別方法,如圖3所示,包括如下步驟步驟一,對被掃描字符進(jìn)行連續(xù)拍攝以得到含有被掃描字符的圖像幀序列,所述圖像幀序列中每幀圖像的內(nèi)容與前一幀圖像的內(nèi)容部分重疊;采用本發(fā)明所述裝置選擇被掃描字符時(shí),按壓按鍵6控制控制模塊2將控制信號發(fā)送到光學(xué)傳感器5,在選擇被掃描字符時(shí),光學(xué)傳感器5同步對文本頁中的被掃描字符進(jìn)行連續(xù)拍攝,以得到含有被掃描字符的圖像幀序列。在本實(shí)施例中,光學(xué)傳感器5的采樣率達(dá)到了 120幀/秒。步驟二,裝置中的控制模塊通過重疊內(nèi)容將圖像幀序列中的每幀圖像與相關(guān)的圖像幀進(jìn)行拼接合成一個(gè)全景圖像;如圖4所示,步驟二包括如下步驟步驟a,控制模塊設(shè)置圖像幀序列中的當(dāng)前幀的幀屬性,形成圖像幀組,幀屬性包括基準(zhǔn)幀、預(yù)測幀和跳過幀;對圖像幀序列的第一幀進(jìn)行特殊處理,將圖像幀序列的第一幀的幀屬性設(shè)為預(yù)測幀,將其水平拼接位移更新值設(shè)為0,豎直拼接位移更新值設(shè)為0,拼接方向更新值設(shè)為右下。本實(shí)施例中,如圖5所示的圖像幀序號為1的圖像幀為本實(shí)施例中圖像幀序列的第一幀。兩圖像幀之間的拼接信息包括水平拼接位移、豎直拼接位移及拼接方向;拼接信息的預(yù)測值是指通過預(yù)測得到的當(dāng)前幀相對于模板幀的拼接信息;拼接信息的計(jì)算值是指通過計(jì)算得到的當(dāng)前幀相對于模板幀的拼接信息;拼接信息的更新值表示通過計(jì)算得到的當(dāng)前幀相對于當(dāng)前幀緊鄰的前一圖像幀的拼接信息。圖像幀序列被劃分為圖像幀組時(shí),在圖像幀組內(nèi)的每一圖像幀或者為基準(zhǔn)幀或者為跳過幀或者為預(yù)測幀,此即為圖像幀的幀屬性。如果當(dāng)前幀已經(jīng)具有幀屬性,則跳過該步驟,否則根據(jù)當(dāng)前幀的前一圖像幀的幀屬性作如下處理如果當(dāng)前幀的前一圖像幀的幀屬性為預(yù)測幀,則設(shè)置當(dāng)前幀的幀屬性為基準(zhǔn)幀;
如果當(dāng)前幀的前一圖像幀的幀屬性為基準(zhǔn)幀,則當(dāng)前幀的前一圖像幀為一個(gè)新的圖像幀組的開始,根據(jù)前一圖像幀的拼接信息的更新值計(jì)算該圖像幀組中的跳過幀數(shù)目, 該圖像幀組的最后一幀的幀屬性設(shè)置為預(yù)測幀,基準(zhǔn)幀和預(yù)測幀之間的圖像幀的幀屬性設(shè)置為跳過幀,掃描筆獲取的整個(gè)圖像幀序列中除第一幀用作初始化之外,剩余圖像幀依據(jù)圖像幀間的位移距離劃分為多個(gè)連續(xù)的圖像幀組。圖像幀組的結(jié)構(gòu)如圖5所示,其第一幀為基準(zhǔn)幀,最后一幀為預(yù)測幀,位于基準(zhǔn)幀和預(yù)測幀之間設(shè)置為跳過幀。對于一個(gè)圖像幀組而言,基準(zhǔn)幀和預(yù)測幀是必需的,跳過幀的數(shù)目根據(jù)圖像幀間的拼接位移的更新值確定,可以為0,也可以為多幀。在對兩圖像幀進(jìn)行拼接時(shí),前一圖像幀稱為模板幀,后一圖像幀稱為當(dāng)前幀,由于本方法的圖像幀組中存在跳過幀,所以當(dāng)前幀和模板幀可能為時(shí)序緊鄰的兩圖像幀,則跳過幀的數(shù)目為0 ;也可能在兩者之間存在跳過幀,則跳過幀的數(shù)目為多幀。本實(shí)施例中相關(guān)的各圖像幀如圖6所示,具體包括圖像幀序號、圖像幀、拼接系數(shù)、水平拼接位移的預(yù)測值、水平拼接位移的計(jì)算值、水平拼接位移的更新值、豎直拼接位移的預(yù)測值、豎直拼接位移的計(jì)算值、豎直拼接位移的更新值、拼接方向的預(yù)測值、拼接方向的計(jì)算值、拼接方向的更新值及幀屬性。其中,拼接系數(shù)為本實(shí)施例中用于計(jì)算圖像幀拼接的度量指標(biāo),拼接方向共有四個(gè)取值,分別為右下、右上、左下、左上,幀屬性有三個(gè)取值, 分別為基準(zhǔn)幀、跳過幀及預(yù)測幀。在本實(shí)施例中,各圖像幀的大小為160X80,采樣頻率為 120幀/秒。在本實(shí)施例中,為方便敘述,圖像幀序號為X的圖像幀稱為第X圖像幀。在本實(shí)施例中,各圖像幀組的跳過幀的數(shù)目的計(jì)算方法如下1)由于掃描筆的采樣頻率為120幀/秒,當(dāng)前幀的前一圖像幀的水平拼接位移更新值與豎直拼接位移更新值中的較大者小于等于4時(shí),圖像幀組內(nèi)的跳過幀數(shù)目為3 ;2)由于掃描筆的采樣頻率為120幀/秒,當(dāng)前幀的前一圖像幀的水平拼接位移更新值與豎直拼接位移更新值中的較大者大于4且小于等于8時(shí),圖像幀組內(nèi)的跳過幀數(shù)目為2;3)由于掃描筆的采樣頻率為120幀/秒,當(dāng)前幀的前一圖像幀的水平拼接位移更新值與豎直拼接位移更新值中的較大者大于8且小于等于16時(shí),圖像幀組內(nèi)的跳過幀數(shù)目為1 ;4)由于掃描筆的采樣頻率為120幀/秒,當(dāng)前幀的前一圖像幀的水平拼接位移更新值與豎直拼接位移更新值中的較大者大于16時(shí),圖像幀組內(nèi)的跳過幀數(shù)目為0。如圖6中所示,對于第2圖像幀,由于前一圖像幀的幀屬性為預(yù)測幀,故第2圖像幀的幀屬性設(shè)置為基準(zhǔn)幀;對于第3圖像幀,由于前一圖像幀的幀屬性為基準(zhǔn)幀,且前一圖像幀的水平拼接位移更新值與豎直拼接位移更新值中的較大者為0,小于等于4,則跳過幀的數(shù)目設(shè)為3,即第3、4、5圖像幀的幀屬性為跳過幀,第6圖像幀的幀屬性為預(yù)測幀。又如對第123圖像幀,其前一圖像幀的幀屬性為基準(zhǔn)幀,且前一圖像幀的水平拼接位移的更新值與豎直拼接位移的更新值中較大者為9,大于8且小于等于16,則跳過幀的數(shù)目設(shè)為1,即第123、IM圖像幀的幀屬性為預(yù)測幀;又如對第196圖像幀,其前一圖像幀的幀屬性為基準(zhǔn)幀,且前一圖像幀的水平拼接位移的更新值與豎直拼接位移的更新值中較大者為38,大于 16,則跳過幀的數(shù)目設(shè)為0,即第196圖像幀的幀屬性為預(yù)測幀。步驟b,根據(jù)當(dāng)前幀的幀屬性及相關(guān)圖像幀的拼接信息的更新值計(jì)算當(dāng)前幀的拼接信息的預(yù)測值;圖像幀的拼接信息包括圖像幀的拼接方向、圖像幀的水平拼接位移和圖像幀的豎直拼接位移;如果當(dāng)前幀為基準(zhǔn)幀或預(yù)測幀,則計(jì)算當(dāng)前幀的拼接信息的預(yù)測值時(shí),得到經(jīng)預(yù)測得到的當(dāng)前幀相對于模板幀的拼接信息,具體為如果當(dāng)前幀為基準(zhǔn)幀,則將當(dāng)前幀的前一圖像幀所對應(yīng)的拼接信息更新值作為當(dāng)前幀的拼接信息的預(yù)測值。如果當(dāng)前幀為預(yù)測幀,則根據(jù)當(dāng)前圖像幀組的基準(zhǔn)幀對應(yīng)的拼接信息的更新值計(jì)算當(dāng)前幀的拼接信息的預(yù)測值。將當(dāng)前圖像幀組的基準(zhǔn)幀的拼接方向的更新值作為當(dāng)前幀的拼接方向的預(yù)測值;根據(jù)當(dāng)前圖像幀組的基準(zhǔn)幀的水平拼接位移的更新值、當(dāng)前圖像幀組的基準(zhǔn)幀的前一圖像幀的水平拼接位移的更新值及當(dāng)前圖像幀組的跳過幀的數(shù)目進(jìn)行計(jì)算,得到當(dāng)前幀的水平拼接位移的預(yù)測值;根據(jù)當(dāng)前圖像幀組的基準(zhǔn)幀的豎直拼接位移的更新值、當(dāng)前圖像幀組的基準(zhǔn)幀的前一圖像幀的豎直拼接位移的更新值及當(dāng)前圖像幀組的跳過幀的數(shù)目進(jìn)行計(jì)算,得到當(dāng)前幀的豎直拼接位移預(yù)測值。在本實(shí)施例中,掃描筆做勻加速運(yùn)動(dòng),以各圖像幀的水平拼接位移為例當(dāng)前幀為預(yù)測幀時(shí),設(shè)當(dāng)前圖像幀組的基準(zhǔn)幀的前一圖像幀的水平拼接位移的更新值為s。,設(shè)當(dāng)前圖像幀組的基準(zhǔn)幀的水平拼接位移的更新值為%,設(shè)當(dāng)前圖像幀組的跳過幀的數(shù)目為n,則當(dāng)前幀的水平拼接位移的預(yù)測值為(n+l)Sb+(n+l) (n+2) (sb-s。)/2。如圖6所示,如第2圖像幀為基準(zhǔn)幀,則將其前一圖像幀的拼接信息的更新值作為當(dāng)前幀的拼接信息的預(yù)測值;又如第6圖像幀為預(yù)測幀,當(dāng)前圖像幀組的基準(zhǔn)幀為第2圖像幀,跳過幀的數(shù)目為3,則將第2圖像幀的拼接方向的更新值作為其拼接方向的預(yù)測值,第1 圖像幀的水平拼接位移的更新值為0,第2圖像幀的水平拼接位移的更新值為0,則當(dāng)前圖像幀的水平拼接位移的預(yù)測值為(3+1) X0+(3+1) (3+2) (0-0)/2 = 0,同樣可計(jì)算得到當(dāng)前圖像幀的豎直拼接位移的預(yù)測值為0 ;又如第IM圖像幀為預(yù)測幀,當(dāng)前圖像幀組的基準(zhǔn)幀為第122圖像幀,跳過幀的數(shù)目為1,則將第122圖像幀的拼接方向的更新值作為其拼接方向預(yù)測值,第121圖像幀的水平拼接位移的更新值為8,第122圖像幀的水平拼接位移的更新值為9,則當(dāng)前幀的水平拼接位移的預(yù)測值為(1+1) X9+(1+1) (1+2) (9-8)/2 = 21,同樣可計(jì)算得到當(dāng)前幀的豎直拼接位移的預(yù)測值為6。步驟C,根據(jù)當(dāng)前幀的拼接信息的預(yù)測值搜索當(dāng)前幀的拼接信息的計(jì)算值;得到預(yù)測值后,以當(dāng)前幀的拼接信息的預(yù)測值為中心,形成搜索窗口,計(jì)算該窗口內(nèi)各像素點(diǎn)處的拼接系數(shù),將拼接系數(shù)的最大值對應(yīng)的像素點(diǎn)處的拼接信息作為當(dāng)前幀拼接信息的計(jì)算值。圖像拼接時(shí)首先基于一些度量指標(biāo)來計(jì)算拼接信息,實(shí)際中兩圖像幀之間只有一個(gè)最佳拼接位置,但是根據(jù)度量指標(biāo)獲取的最佳拼接位置卻有可能并不是實(shí)際的最佳拼接位置,這會(huì)導(dǎo)致拼接錯(cuò)誤。為了保證拼接的正確性,以當(dāng)前幀的拼接信息的預(yù)測值為中心, 形成搜索窗口,計(jì)算該窗口內(nèi)各像素點(diǎn)處的拼接系數(shù),將拼接系數(shù)的最大值對應(yīng)的像素點(diǎn)處的拼接信息作為當(dāng)前幀拼接信息的計(jì)算值。拼接系數(shù)即為二值化后的兩圖像幀在重疊區(qū)域中重合的黑像素點(diǎn)數(shù)目除以重疊區(qū)域中黑像素點(diǎn)總數(shù)的值。本實(shí)施例中,如圖6所示,第196圖像幀的拼接方向的預(yù)測值為右下,水平拼接位移的預(yù)測值為38,豎直拼接位移的預(yù)測值為8,以該預(yù)測值為中心點(diǎn),預(yù)測窗口為IlX 11,計(jì)算預(yù)測窗口中的各像素點(diǎn)的拼接系數(shù),得到拼接系數(shù)的最大值為 0. 8704,對應(yīng)的像素點(diǎn)在預(yù)測窗口內(nèi)的相對坐標(biāo)為(3,1),則將該點(diǎn)對應(yīng)的拼接信息作為拼接信息的計(jì)算值,得到水平方向上拼接信息的計(jì)算值為37,豎直方向上拼接信息的計(jì)算值為8。步驟d,根據(jù)當(dāng)前幀的拼接信息的計(jì)算值計(jì)算當(dāng)前幀的拼接信息的更新值,轉(zhuǎn)至步驟a,直至圖像幀序列中各基準(zhǔn)幀、預(yù)測幀的拼接信息的更新值計(jì)算完畢;計(jì)算當(dāng)前幀的拼接信息的更新值時(shí)如果當(dāng)前幀為基準(zhǔn)幀,將當(dāng)前幀的拼接信息的計(jì)算值作為當(dāng)前幀的拼接信息更新值。如果當(dāng)前幀為預(yù)測幀,如果當(dāng)前圖像幀組的跳過幀數(shù)目為0,則當(dāng)前幀的拼接信息的更新值即為當(dāng)前幀的拼接信息的計(jì)算值;否則,將當(dāng)前幀的拼接方向的計(jì)算值作為當(dāng)前幀的拼接方向的更新值;根據(jù)當(dāng)前幀的水平拼接位移的計(jì)算值、當(dāng)前圖像幀組的基準(zhǔn)幀的水平拼接位移計(jì)算值及當(dāng)前圖像幀組中的跳過幀數(shù)目進(jìn)行計(jì)算,得到當(dāng)前幀的水平拼接位移的更新值;根據(jù)當(dāng)前幀的豎直拼接位移的計(jì)算值、當(dāng)前圖像幀組的基準(zhǔn)幀的豎直拼接位移的計(jì)算值及當(dāng)前圖像幀組中的跳過幀數(shù)目進(jìn)行計(jì)算,得到當(dāng)前幀的豎直拼接位移的更新值。在本實(shí)施例中,掃描筆做勻加速運(yùn)動(dòng),以當(dāng)前幀的水平拼接位移為例當(dāng)前幀為預(yù)測幀且當(dāng)前圖像幀組的跳過幀數(shù)目大于0時(shí),設(shè)當(dāng)前圖像幀組的基準(zhǔn)幀的水平拼接位移的計(jì)算值為su,設(shè)當(dāng)前幀的水平拼接位移的計(jì)算值為s,設(shè)當(dāng)前圖像幀組的跳過幀的數(shù)目為n, 則當(dāng)前幀的水平拼接位移的更新值為(k-nSu)/(n+2)。如圖6所示,如第6圖像幀為預(yù)測幀,當(dāng)前圖像幀組的基準(zhǔn)幀為第2圖像幀,跳過幀的數(shù)目為3,則將第6圖像幀的拼接方向的計(jì)算值作為其拼接方向更新值,當(dāng)前圖像幀組的基準(zhǔn)幀的水平拼接位移的計(jì)算值為0,當(dāng)前圖像幀的水平拼接位移的計(jì)算值為4,則當(dāng)前圖像幀的水平拼接位移的更新值為OX5-3X0)/(3+》=2,同樣可計(jì)算得到當(dāng)前圖像幀的豎直拼接位移的預(yù)測值為0。又如第124圖像幀為預(yù)測幀,當(dāng)前圖像幀組的基準(zhǔn)幀為第 122圖像幀,跳過幀的數(shù)目為1,則將第124圖像幀的拼接方向計(jì)算值作為其拼接方向更新值,當(dāng)前圖像幀組的基準(zhǔn)幀的水平拼接位移的計(jì)算值為9,當(dāng)前圖像幀的水平拼接位移的計(jì)算值為21,則當(dāng)前圖像幀的水平拼接位移的更新值為QX21-lX9)/(l+2) =11,同樣可計(jì)算得到當(dāng)前圖像幀的豎直拼接位移的預(yù)測值為4。由于本方法在掃描筆進(jìn)行掃描時(shí)逐圖像幀進(jìn)行處理,處理完畢當(dāng)前幀后轉(zhuǎn)至步驟 a處理當(dāng)前幀的下一幀,直至圖像幀序列中各基準(zhǔn)幀、預(yù)測幀的拼接信息的更新值計(jì)算完畢。掃描筆對文本頁執(zhí)行完一次掃描過程時(shí),對于圖像幀序列中最后一圖像幀,將該圖像幀的幀屬性設(shè)置為預(yù)測幀,從而形成一個(gè)完整的圖像幀組,該圖像幀的幀屬性設(shè)置為預(yù)測幀后轉(zhuǎn)至步驟a,經(jīng)步驟b、步驟c和步驟d得到該預(yù)測幀的拼接信息的更新值,從而使圖像幀序列中各基準(zhǔn)幀、預(yù)測幀的拼接信息的更新值計(jì)算完畢。步驟e、根據(jù)計(jì)算完畢的各基準(zhǔn)幀、預(yù)測幀的拼接信息的計(jì)算值拼接為全景圖像。 根據(jù)圖像幀序列中的各基準(zhǔn)幀、預(yù)測幀以及各基準(zhǔn)幀、預(yù)測幀對應(yīng)的拼接信息即可獲取全景圖像,本實(shí)施例中,最終獲取的全景二值圖像如圖7所示。步驟三,對所述全景圖像進(jìn)行傾斜校正后進(jìn)行字符識(shí)別,得到被掃描字符的字符編碼??刂颇K調(diào)用存儲(chǔ)器中的字符識(shí)別引擎對拼接得到的全景圖像進(jìn)行識(shí)別,在字符識(shí)別之前首先對拼接得到的全景圖像進(jìn)行傾斜校正,將全景圖像中的各字符形成水平文字行后,如圖8所示,再調(diào)用字符識(shí)別引擎進(jìn)行識(shí)別,得到被掃描字符的字符編碼。識(shí)別后形成的被掃描字符的字符編碼在存儲(chǔ)器中進(jìn)行存儲(chǔ)。顯示單元可調(diào)用存儲(chǔ)在存儲(chǔ)器中識(shí)別出的待掃描字符在液晶屏上進(jìn)行顯示,控制模塊可根據(jù)控制信號將被掃描字符的字符編碼發(fā)送到TTS模塊,由TTS模塊輸出真人語音。本發(fā)明公開了一種掃描識(shí)別裝置和方法,針對掃描筆獲取的圖像幀序列進(jìn)行拼接。在掃描筆獲取的圖像序列中,除了存在當(dāng)前圖像幀與其前一幀圖像存在重疊內(nèi)容的情況外,還存在當(dāng)前圖像幀與其前一幀圖像之前的一個(gè)或多個(gè)圖像幀存在重疊內(nèi)容的情況, 為了提高圖像幀序列拼接的處理速度,降低控制模塊的處理負(fù)荷,本發(fā)明通過控制模塊對光學(xué)傳感器采集到的圖像幀序列中的圖像幀進(jìn)行篩選。整個(gè)圖像幀序列依據(jù)圖像幀間的位移劃分為連續(xù)的多個(gè)圖像幀組,對圖像幀組中的基準(zhǔn)幀和預(yù)測幀進(jìn)行拼接計(jì)算,對于圖像幀組中的跳過幀則可以直接跳過,從而提高了整個(gè)圖像幀序列的拼接速度。以上對本發(fā)明所提供的一種掃描識(shí)別裝置和方法,進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處。綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
權(quán)利要求
1.一種掃描識(shí)別裝置,其特征在于包括用于拍攝圖像的光學(xué)傳感器和用于處理圖像及識(shí)別字符的控制模塊,所述光學(xué)傳感器對被掃描字符進(jìn)行連續(xù)拍攝以得到含有被掃描字符的圖像幀序列,所述圖像幀序列中每幀圖像的內(nèi)容與前一幀圖像的內(nèi)容部分重疊;所述控制模塊通過重疊內(nèi)容將圖像幀序列中的每幀圖像與相關(guān)的圖像幀進(jìn)行拼接合成一個(gè)全景圖像,對所述全景圖像進(jìn)行傾斜校正后進(jìn)行字符識(shí)別,得到被掃描字符的字符編碼。
2.根據(jù)權(quán)利要求1所述的裝置,其特征在于還包括與控制模塊連接的照明單元,用于照明待掃描字符。
3.根據(jù)權(quán)利要求1或2所述的裝置,其特征在于所述控制模塊包括設(shè)置單元,設(shè)置圖像幀序列中的當(dāng)前幀的幀屬性,形成圖像幀組,幀屬性包括基準(zhǔn)幀、 預(yù)測幀和跳過幀;預(yù)測單元,根據(jù)當(dāng)前幀的幀屬性及相關(guān)圖像幀的拼接信息的更新值計(jì)算當(dāng)前幀的拼接信息的預(yù)測值;搜索單元,根據(jù)當(dāng)前幀的拼接信息的預(yù)測值搜索當(dāng)前幀的拼接信息的計(jì)算值; 更新單元,根據(jù)當(dāng)前幀的拼接信息的計(jì)算值計(jì)算當(dāng)前幀的拼接信息的更新值,轉(zhuǎn)至設(shè)置單元,直至圖像幀序列中各基準(zhǔn)幀、預(yù)測幀的拼接信息的更新值計(jì)算完畢;拼接單元,根據(jù)計(jì)算完畢的各基準(zhǔn)幀、預(yù)測幀的拼接信息的計(jì)算值拼接為全景圖像。
4.根據(jù)權(quán)利要求3所述的裝置,其特征在于所述圖像幀組中幀屬性分別為基準(zhǔn)幀和預(yù)測幀的圖像幀參與拼接,形成全景圖像。
5.根據(jù)權(quán)利要求3所述的裝置,其特征在于所述圖像幀組中的跳過幀數(shù)目大于等于O0
6.根據(jù)權(quán)利要求1或3所述的裝置,其特征在于還包括顯示單元,用于顯示識(shí)別出的待掃描字符。
7.一種應(yīng)用于權(quán)利要求1所述裝置的掃描識(shí)別方法,其特征在于,包括如下步驟步驟一,對被掃描字符進(jìn)行連續(xù)拍攝以得到含有被掃描字符的圖像幀序列,所述圖像幀序列中每幀圖像的內(nèi)容與前一幀圖像的內(nèi)容部分重疊;步驟二,裝置中的控制模塊通過重疊內(nèi)容將圖像幀序列中的每幀圖像與相關(guān)的圖像幀進(jìn)行拼接合成一個(gè)全景圖像;步驟三,對所述全景圖像進(jìn)行傾斜校正后進(jìn)行字符識(shí)別,得到被掃描字符的字符編碼。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述對被掃描字符進(jìn)行同步拍攝時(shí),采用照明單元對被掃描字符進(jìn)行照明。
9.根據(jù)權(quán)利要求7或8所述的方法,其特征在于,所述步驟二包括步驟a,設(shè)置圖像幀序列中的當(dāng)前幀的幀屬性,形成圖像幀組,幀屬性包括基準(zhǔn)幀、預(yù)測幀和跳過幀;步驟b,根據(jù)當(dāng)前幀的幀屬性及相關(guān)圖像幀的拼接信息的更新值計(jì)算當(dāng)前幀的拼接信息的預(yù)測值;步驟c,根據(jù)當(dāng)前幀的拼接信息的預(yù)測值搜索當(dāng)前幀的拼接信息的計(jì)算值; 步驟d,根據(jù)當(dāng)前幀的拼接信息的計(jì)算值計(jì)算當(dāng)前幀的拼接信息的更新值,轉(zhuǎn)至步驟 a,直至圖像幀序列中各基準(zhǔn)幀、預(yù)測幀的拼接信息的更新值計(jì)算完畢;步驟e、根據(jù)計(jì)算完畢的各基準(zhǔn)幀、預(yù)測幀的拼接信息的計(jì)算值拼接為全景圖像。
10.根據(jù)權(quán)利要求7或8所述的方法,其特征在于,對被掃描字符的圖像幀序列進(jìn)行選擇時(shí),實(shí)時(shí)地對得到的待拼接圖像幀進(jìn)行拼接。
11.根據(jù)權(quán)利要求9所述的方法,其特征在于所述步驟a中所述基準(zhǔn)幀為圖像幀組的第一幀;所述跳過幀為基準(zhǔn)幀和預(yù)測幀之間的圖像幀,跳過幀的數(shù)目根據(jù)圖像幀間的拼接位移的更新值確定;所述預(yù)測幀為圖像幀組中的最后一幀。
12.根據(jù)權(quán)利要求11所述的方法,其特征在于所述步驟a中設(shè)置圖像幀組中的各圖像幀的幀屬性時(shí),根據(jù)當(dāng)前幀的前一圖像幀的幀屬性進(jìn)行判斷,具體為如果當(dāng)前幀的前一圖像幀的幀屬性為預(yù)測幀,則設(shè)置當(dāng)前幀的幀屬性為基準(zhǔn)幀;如果當(dāng)前幀的前一圖像幀的幀屬性為基準(zhǔn)幀,則根據(jù)前一圖像幀的拼接信息的更新值計(jì)算該圖像幀組中的跳過幀數(shù)目,該圖像幀組的最后一幀的幀屬性設(shè)置為預(yù)測幀,基準(zhǔn)幀和預(yù)測幀之間的圖像幀的幀屬性設(shè)置為跳過幀。
13.根據(jù)權(quán)利要求9所述的方法,其特征在于所述步驟b中的拼接信息包括拼接方向、水平拼接位移和豎直拼接位移。
14.根據(jù)權(quán)利要求13所述的方法,其特征在于所述步驟b中計(jì)算當(dāng)前幀的拼接信息的預(yù)測值時(shí),得到經(jīng)預(yù)測得到的當(dāng)前幀的拼接信息,具體為如果當(dāng)前幀為基準(zhǔn)幀,則將當(dāng)前幀的前一圖像幀所對應(yīng)的拼接信息的更新值作為當(dāng)前幀的拼接信息的預(yù)測值;如果當(dāng)前幀為預(yù)測幀,則根據(jù)當(dāng)前圖像幀組的基準(zhǔn)幀對應(yīng)的拼接信息的更新值計(jì)算當(dāng)前幀的拼接信息的預(yù)測值。
15.根據(jù)權(quán)利要求14所述的方法,其特征在于所述根據(jù)當(dāng)前圖像幀組的基準(zhǔn)幀對應(yīng)的拼接信息的更新值計(jì)算當(dāng)前幀的拼接信息的預(yù)測值時(shí),將基準(zhǔn)幀的拼接方向的更新值作為當(dāng)前幀的拼接方向的預(yù)測值;具體為根據(jù)基準(zhǔn)幀的水平拼接位移的更新值、基準(zhǔn)幀的前一圖像幀的水平拼接位移的更新值及當(dāng)前圖像幀組的跳過幀數(shù)目計(jì)算當(dāng)前幀的水平拼接位移的預(yù)測值;根據(jù)基準(zhǔn)幀的豎直拼接位移的更新值、基準(zhǔn)幀的前一圖像幀的豎直拼接位移的更新值及當(dāng)前圖像幀組的跳過幀數(shù)目計(jì)算當(dāng)前幀的豎直拼接位移的預(yù)測值。
16.根據(jù)權(quán)利要求9所述的方法,其特征在于所述步驟c中搜索當(dāng)前幀的拼接信息的計(jì)算值時(shí),以當(dāng)前幀的拼接信息的預(yù)測值為中心,形成搜索窗口,計(jì)算該窗口內(nèi)各像素點(diǎn)處的拼接系數(shù),將拼接系數(shù)的最大值對應(yīng)的像素點(diǎn)處的拼接信息作為當(dāng)前幀拼接信息的計(jì)算值。
17.根據(jù)權(quán)利要求13所述的方法,其特征在于所述步驟d中計(jì)算當(dāng)前幀的拼接信息的更新值時(shí)如果當(dāng)前幀為基準(zhǔn)幀,將當(dāng)前幀的拼接信息的計(jì)算值作為當(dāng)前幀的拼接信息更新值;如果當(dāng)前幀為預(yù)測幀,則根據(jù)當(dāng)前圖像幀組的跳過幀數(shù)目計(jì)算當(dāng)前幀的拼接信息的更新值。
18.根據(jù)權(quán)利要求17所述的方法,其特征在于所述根據(jù)當(dāng)前圖像幀組的跳過幀數(shù)目計(jì)算當(dāng)前幀的拼接信息的更新值包括如果當(dāng)前圖像幀組的跳過幀數(shù)目等于0,則將當(dāng)前幀的拼接信息的計(jì)算值作為當(dāng)前幀的拼接信息更新值;如果當(dāng)前圖像幀組的跳過幀數(shù)目大于0,將當(dāng)前幀的拼接方向的計(jì)算值作為當(dāng)前幀的拼接方向的更新值;根據(jù)當(dāng)前幀的水平拼接位移計(jì)算值、基準(zhǔn)幀的水平拼接位移的計(jì)算值及當(dāng)前圖像幀組的跳過幀數(shù)目計(jì)算當(dāng)前幀的水平拼接位移的更新值;根據(jù)當(dāng)前幀的豎直拼接位移計(jì)算值、基準(zhǔn)幀的豎直拼接位移的計(jì)算值及當(dāng)前圖像幀組的跳過幀數(shù)目計(jì)算當(dāng)前幀的豎直拼接位移的更新值。
19.根據(jù)權(quán)利要求7所述的方法,其特征在于所述字符識(shí)別之前傾斜校正得到的全景圖像,使全景圖像中的各字符形成水平文字行。
全文摘要
本發(fā)明公開了一種掃描識(shí)別裝置和方法,屬于計(jì)算機(jī)外圍設(shè)備領(lǐng)域。裝置包括用于拍攝圖像的光學(xué)傳感器和用于處理圖像及識(shí)別字符的控制模塊,所述光學(xué)傳感器對被掃描字符進(jìn)行連續(xù)拍攝以得到含有被掃描字符的圖像幀序列,所述圖像幀序列中每幀圖像的內(nèi)容與前一幀圖像的內(nèi)容部分重疊;所述控制模塊通過重疊內(nèi)容將圖像幀序列中的每幀圖像與相關(guān)的圖像幀進(jìn)行拼接合成一個(gè)全景圖像,對所述全景圖像進(jìn)行傾斜校正后進(jìn)行字符識(shí)別,得到被掃描字符的字符編碼。本發(fā)明通過控制模塊對光學(xué)傳感器采集到的圖像幀序列中的圖像幀進(jìn)行篩選,將得到的待拼接圖像幀根據(jù)重疊內(nèi)容進(jìn)行拼接,提高了整個(gè)圖像幀序列的拼接速度,降低了控制模塊的處理負(fù)荷。
文檔編號G06K9/20GK102324027SQ201110141320
公開日2012年1月18日 申請日期2011年5月27日 優(yōu)先權(quán)日2011年5月27日
發(fā)明者李永彬 申請人:漢王科技股份有限公司