国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于移動(dòng)智能終端的車票管理軟件設(shè)計(jì)

2014-10-21 19:57:17李建尹項(xiàng)博李佳俊王海瑞
關(guān)鍵詞:圖像預(yù)處理

李建 尹項(xiàng)博 李佳俊 王海瑞

摘要:該文基于數(shù)字圖像處理技術(shù)及OCR文字識(shí)別引擎,在基于Android的智能終端上設(shè)計(jì)了一個(gè)列車車票管理軟件,簡(jiǎn)化列車員的管理工作。文中重點(diǎn)研究了如何通過預(yù)處理過程來加快OCR引擎的速度,提高正確率。

關(guān)鍵詞:圖像預(yù)處理;開源OCR引擎;二維條碼;Android開發(fā)

中圖分類號(hào):TP391.44

在旅客列車開行過程中,列車員的一項(xiàng)重要而繁瑣的重復(fù)性工作是核驗(yàn)乘客的車票,防止旅客上錯(cuò)車;在即將到站時(shí)提醒相應(yīng)鋪位的乘客,以防旅客坐過站。在平板電腦、智能手機(jī)等移動(dòng)智能終端廣泛應(yīng)用的大背景下,可利用攝像頭采集車票圖像,再通過圖像處理技術(shù)提取出車票信息,實(shí)現(xiàn)車票管理的信息化。

從車票提取乘客信息有兩種渠道,一是通過車票右下方的二維條形碼(QR碼);二是直接通過文字識(shí)別技術(shù),讀取車票上的文字信息。第一種渠道中,需要破解QR碼的加密算法才能獲得車票信息,這是一種不合適的行為。對(duì)于基層列車乘務(wù)員而言,是沒有權(quán)限接入鐵路部門的票務(wù)系統(tǒng)的。因此,應(yīng)該考慮使用第二種方案來提取車票信息。這種方案的優(yōu)點(diǎn)是避免了破解加密算法及帶來的法律糾紛;缺點(diǎn)是需要進(jìn)行圖像處理及文字識(shí)別,運(yùn)算量相對(duì)大一些。由于現(xiàn)有的移動(dòng)智能終端大都配備4核1.2GHz以上的ARM處理器,1G Bytes以上的內(nèi)存,及高分辨率攝像頭,使得實(shí)時(shí)采集車票圖像并提取車票信息成為可能。

1 系統(tǒng)概況

基于智能終端的驗(yàn)票軟件,其圖像采集設(shè)備采用終端自帶的攝像頭,通過終端自帶的LCD屏、喇叭輸出結(jié)果,充分利用智能終端的資源,大大降低系統(tǒng)部署成本。

為便于大量旅客信息的保存及查詢,采用Sqlite數(shù)據(jù)庫存儲(chǔ)車票數(shù)據(jù)。此外,還有一些有關(guān)列車的設(shè)置信息,比如車次、車廂號(hào)、各站點(diǎn)的到站發(fā)站時(shí)間等。列車員可以通過觸摸屏手動(dòng)輸入這些設(shè)置信息,也可以通過鐵路網(wǎng)站直接下載。

軟件的主要處理過程如圖1所示:

預(yù)處理過程主要包括顏色空間轉(zhuǎn)換、去噪、圖像校正等過程。文字識(shí)別過程主要基于OCR(Optical character recognition)識(shí)別引擎完成文字提取。識(shí)別結(jié)果存入數(shù)據(jù)庫后,軟件根據(jù)到站時(shí)間設(shè)置提醒鬧鐘,確定何時(shí)發(fā)出旅客到站的提醒信號(hào)。下面重點(diǎn)對(duì)預(yù)處理和識(shí)別部分的原理及過程進(jìn)行敘述。

2 詳細(xì)處理過程

2.1 預(yù)處理過程

本設(shè)計(jì)中的預(yù)處理過程主要包括以下兩個(gè)方面:基于QR碼圖形的幾何調(diào)整,以及基于固定位置的文本區(qū)域分割。

2.1.1 基于QR碼圖形的幾何調(diào)整

由于采集距離遠(yuǎn)近及拍攝角度的不同,采集的車票圖像尺寸和系統(tǒng)中標(biāo)準(zhǔn)車票圖像尺寸間存在較大的差別,為便于后續(xù)處理,在預(yù)處理階段除了進(jìn)行顏色空間轉(zhuǎn)換、去噪外,重點(diǎn)進(jìn)行圖像的幾何調(diào)整。盡管OCR引擎在一定程度上能夠自動(dòng)處理諸如圖像旋轉(zhuǎn)、縮放、圖像顛倒等問題,但會(huì)引入更多的計(jì)算量,同時(shí)增加出錯(cuò)的概率。為了提高識(shí)別性能,我們根據(jù)車票的特殊標(biāo)志對(duì)車票圖像進(jìn)行幾何調(diào)整。由于新一代的火車票票面上均印有二維QR碼,我們可以通過二維QR碼的形狀及位置信息來對(duì)車票的幾何參數(shù)加以判斷。典型的火車票圖片如圖2所示:

從中可以看到,由于拍攝時(shí)不可避免地會(huì)產(chǎn)生圖像旋轉(zhuǎn)現(xiàn)象,在進(jìn)行后續(xù)處理之前,需要先將圖片旋轉(zhuǎn)復(fù)原到正常位置。旋轉(zhuǎn)復(fù)原的前提是確定圖像拍攝時(shí)被旋轉(zhuǎn)的角度,方法如下:

首先提取車票QR碼圖像的灰度邊緣。常用的邊緣提取算法有Sobel[1]、Canny[2]算子等,其中Canny算子的性能最好,但是復(fù)雜度較高;而Sobel算子具有計(jì)算過程簡(jiǎn)單的特點(diǎn),適合在嵌入式設(shè)備上運(yùn)行。這里使用Sobel算子的垂直模板來提取邊緣,并對(duì)邊緣圖像進(jìn)行二值化,得到的結(jié)果如圖3所示。

接著對(duì)圖中的線條進(jìn)行骨骼化[1]處理。為了防止大量短線條的干擾,可以在進(jìn)行骨骼化之前,使用膨脹腐蝕算法來濾除圖中的大量小區(qū)域。骨骼化后的結(jié)果如圖4所示。

可以使用直線擬合方法來提取圖4中的各條直線,但更常用的是使用Hough變換[3]。Hough變換把圖像空間中的直線檢測(cè)問題轉(zhuǎn)換為參數(shù)空間中的點(diǎn)檢測(cè)問題,再在參數(shù)空間中通過簡(jiǎn)單的累加計(jì)算完成檢測(cè)。完成Hough變換檢測(cè)直線的結(jié)果如圖5所示。利用圖中直線的斜率,就可以判斷QR碼的旋轉(zhuǎn)角度(即車票圖像的旋轉(zhuǎn)角度);通過對(duì)車票圖像執(zhí)行一個(gè)旋轉(zhuǎn)變換,便可得標(biāo)準(zhǔn)角度的車票圖像。

另外一個(gè)問題是判斷車票的縮放比例以及判斷車票是否顛倒。在本設(shè)計(jì)中,我們通過QR碼中的位置探測(cè)圖形來實(shí)現(xiàn)檢測(cè)。

在QR碼中,位置探測(cè)圖形是指QR碼中位于左上、右上、左下三個(gè)區(qū)域的方塊狀圖形。如圖6所示。每個(gè)位置探測(cè)圖形的模塊序列由一個(gè)深色-淺色-深色-淺色的次序構(gòu)成,各元素的相對(duì)寬度的比例是1:1:3:1:1。檢測(cè)位置探測(cè)圖形的方法有很多[4],這里不詳細(xì)敘述。找到三個(gè)位置探測(cè)圖形以后,根據(jù)三者中心坐標(biāo)之間的關(guān)系,可以判斷出圖像是正立還是倒立的,方法如下:

假設(shè)圖像的坐標(biāo)原點(diǎn)位于左上角,三個(gè)位置探測(cè)圖形中心處的坐標(biāo)分別為:(x1,y1),(x2,y2),(x3,y3)。由三個(gè)點(diǎn)連接的三條線段中,尋找夾角接近90°的兩條線段,如果90°夾角的內(nèi)部指向右下角,則圖像是正立的;否則圖像是倒立的。

對(duì)于車票的縮放比例,在圖片的角度已經(jīng)旋轉(zhuǎn)復(fù)原的情況下,根據(jù)測(cè)量三個(gè)位置探測(cè)圖形的距離WX,WY,對(duì)比標(biāo)準(zhǔn)參考圖像中的位置探測(cè)圖像間的距離WX_ref,WY_ref,便可計(jì)算出圖片在水平和垂直方向上的大致縮放比例。

2.1.2 文本區(qū)域分割

調(diào)整完角度和方向的圖片可以直接輸入到OCR引擎進(jìn)行文字識(shí)別。但由于車票上很多區(qū)域都沒有文字信息,且有一部分文字不是我們所關(guān)注的,沒有必要進(jìn)行識(shí)別。另外,開源OCR識(shí)別引擎的處理速度比較慢,處理太大的圖片時(shí)難以滿足實(shí)時(shí)性的要求。比如,經(jīng)測(cè)試,一張分辨率為1280x960的車票圖片,在MTK6589處理器上利用tesseract引擎進(jìn)行文字識(shí)別時(shí),大概需要10秒鐘左右的時(shí)間,實(shí)時(shí)性較差。在本設(shè)計(jì)中,考慮到關(guān)注的文字信息只出現(xiàn)在一些固定的區(qū)域,一旦火車票的角度和尺寸被復(fù)原后,文字區(qū)域的位置是固定的。可以因此將文字區(qū)域分割出來,加快OCR的處理速度。圖7中,方框部分為由程序根據(jù)預(yù)先設(shè)置的坐標(biāo)標(biāo)識(shí)出來的關(guān)注區(qū)域。從中可以看到,車票上關(guān)注的區(qū)域只有6個(gè),所含文字?jǐn)?shù)量非常有限,有利于加快OCR的識(shí)別速度。

2.2 文字識(shí)別

關(guān)于光學(xué)字符設(shè)別OCR的研究已經(jīng)非常多,尤其是商用的OCR引擎已經(jīng)能夠達(dá)到比較好的識(shí)別效果,如漢王[5]、ABBYY[6],等,但是由于涉及版權(quán)及成本問題,沒有在本設(shè)計(jì)中采用。開源OCR也比較多,比較流行的比如tesseract[7]。與專業(yè)OCR識(shí)別引擎相比,開源OCR的識(shí)別正確率較低,速度較慢。但如果針對(duì)某個(gè)具體的問題來加以優(yōu)化,則可大大改善其性能。

為了提高tesseract識(shí)別的速度和準(zhǔn)確率,我們先按照位置來對(duì)車票圖像進(jìn)行分割;接著對(duì)不同區(qū)域的分割圖片采用不同的訓(xùn)練和識(shí)別策略:

(1)對(duì)于車次、座號(hào)、席別、日期時(shí)間等區(qū)域,由于其格式是完全固定的,所含字符的種類也十分有限,因此,我們有針對(duì)地訓(xùn)練比較小的模板庫進(jìn)行識(shí)別,加快識(shí)別的過程,提高識(shí)別的準(zhǔn)確性。

(2)對(duì)于起點(diǎn)站、終到站區(qū)域。由于車次識(shí)別完成后,其??空军c(diǎn)的選項(xiàng)就已經(jīng)確定,因此,我們讓識(shí)別引擎有針對(duì)地比對(duì)與該次車各個(gè)候選站點(diǎn)的相似性,從而提高準(zhǔn)確率。

測(cè)試表明,采用上面的方法后,識(shí)別單張車票圖像的時(shí)間從10余秒減少到1秒左右,能夠滿足實(shí)用的需求。

2.3 后續(xù)處理

一旦識(shí)別出車票,則首先判斷該旅客是否屬于本次列車、本車廂。如果不是,不允許旅客上車;如果是,則將旅客數(shù)據(jù)記錄進(jìn)數(shù)據(jù)庫,并啟動(dòng)定時(shí)器,周期性的檢查旅客是否即將到站,一旦即將到站,則發(fā)出提示信息。檢查的準(zhǔn)則是根據(jù)當(dāng)前時(shí)間與軟件中預(yù)置的列車到站時(shí)刻表。如果發(fā)生列車晚點(diǎn),則在列車到達(dá)中間站后,乘務(wù)員可根據(jù)到站時(shí)間人為修正一個(gè)時(shí)間偏移。

3 結(jié)束語

本設(shè)計(jì)基于OCR文字識(shí)別引擎,在移動(dòng)智能終端上設(shè)計(jì)了一個(gè)車票管理軟件,基于該軟件可以簡(jiǎn)化列車員的工作量,提高工作效率。本設(shè)計(jì)的特點(diǎn)是在預(yù)處理階段,通過QR碼的特征來對(duì)車票進(jìn)行幾何校正;在OCR識(shí)別的過程中,通過分割車票的感興趣區(qū)域,加快識(shí)別速度。

參考文獻(xiàn):

[1]R. Gonzalez, R. Woods. Digital Image Processing, Addison Wesley, 1992,pp 414-428.

[2]J. Canny. A Computational Approach To Edge Detection, IEEE Trans. Pattern Analysis and Machine Intelligence, 8:679-714,1986.

[3]R. O. Duda, P. E. Hart. Use of the Hough Transformation to Detect Lines and Curves in Pictures.Comm. ACM, Vol.15, pp.11-15.

[4]劉宏偉,苗東,李志剛等.二維條碼的識(shí)別方法[J].微計(jì)算機(jī)信息(測(cè)控自動(dòng)化),2004(04).

[5]漢王文本識(shí)別技術(shù).http://ka.hanwang.com.cn/OCR技術(shù)/index.htm.

[6]泰比移動(dòng)OCR引擎.http://www.abbyy.cn/mobileocr/.

[7]tesseract.https://code.google.com/p/tesseract-android-tools/.

作者信息:李建(1994-),男,吉林四平人,本科在讀,電子信息工程專業(yè)。

作者單位:北方工業(yè)大學(xué) 電子信息工程學(xué)院,北京 100041

基金項(xiàng)目:北京市大學(xué)生科學(xué)研究與創(chuàng)業(yè)行動(dòng)計(jì)劃項(xiàng)目。

猜你喜歡
圖像預(yù)處理
基于中值濾波與維納復(fù)原的圖像預(yù)處理方法
基于高光譜成像技術(shù)的雞肉菌落總數(shù)快速無損檢測(cè)
肉類研究(2017年3期)2017-03-23 18:38:58
基于MATLAB的車牌識(shí)別系統(tǒng)的研究與實(shí)現(xiàn)
科技視界(2016年27期)2017-03-14 15:48:08
車牌識(shí)別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
基于Hadoop的舌部圖像預(yù)處理時(shí)間對(duì)比研究
基于LabVIEW雛雞雌雄半自動(dòng)鑒別系統(tǒng)
表格圖像特征目標(biāo)識(shí)別技術(shù)的研究
科技視界(2016年23期)2016-11-04 23:14:15
基于MATLAB的圖片中字符的分割與識(shí)別
基于機(jī)器視覺的圖像目標(biāo)識(shí)別方法綜述
基于BP神經(jīng)網(wǎng)絡(luò)的人臉識(shí)別系統(tǒng)
軟件(2015年12期)2016-01-24 11:54:08
海南省| 武强县| 邵阳市| 瓮安县| 温泉县| 陕西省| 北碚区| 鸡东县| 轮台县| 江安县| 平遥县| 永川市| 巴彦淖尔市| 缙云县| 西乡县| 汶上县| 临潭县| 富锦市| 望城县| 南安市| 梧州市| 宁强县| 裕民县| 博罗县| 德清县| 新泰市| 呼伦贝尔市| 故城县| 都昌县| 锦州市| 宣恩县| 通山县| 大厂| 云浮市| 东乌珠穆沁旗| 喀喇沁旗| 剑川县| 五大连池市| 广安市| 汨罗市| 金溪县|