• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      LKJ人機(jī)界面單元顯示字符識(shí)別的方法

      2019-08-28 01:52:24楊清祥白鴻鈞
      關(guān)鍵詞:字庫(kù)分割線字符識(shí)別

      陳 宇,楊清祥,白鴻鈞

      (河南思維軌道交通技術(shù)研究院有限公司,鄭州 450001)

      列車運(yùn)行監(jiān)控裝置(LKJ)是中國(guó)自主研發(fā)的列車運(yùn)行控制系統(tǒng)體系的核心設(shè)備和重要組成部分,在保證列車運(yùn)行安全方面發(fā)揮著重要作用[1]。人機(jī)界面(DMI)單元是LKJ中的用戶交互設(shè)備[2],其顯示信息的正確與否直接關(guān)系到LKJ能否安全控車。為鑒別DMI顯示信息的完整性和正確性,需采用圖像識(shí)別的方式對(duì)DMI顯示的字符信息進(jìn)行辨別,通過與后臺(tái)信息進(jìn)行對(duì)比,來判斷DMI顯示結(jié)果的正確性。因此,如何對(duì)DMI顯示字符信息的準(zhǔn)確性和完整性進(jìn)行識(shí)別是一個(gè)亟待解決的問題。

      1 圖像字符識(shí)別方法

      在圖像字符識(shí)別領(lǐng)域,目前主要采用光學(xué)字符識(shí)別(OCR,Optical Character Recognition)[3]技術(shù)中的單元模式匹配法(Pattern Matching)[4]和特征提取法(Feature Extraction)[5]。

      1.1 單元模式匹配法

      單元模式匹配法是將每一個(gè)字符采用不嚴(yán)格、最為近似的方式與預(yù)先保存的標(biāo)準(zhǔn)字體和字號(hào)的位圖進(jìn)行比較,將最為相似的字符認(rèn)定為目標(biāo)字符;該方式在被識(shí)別的內(nèi)容中出現(xiàn)不同字體時(shí),會(huì)導(dǎo)致正確的字符反而不是最近似的錯(cuò)誤識(shí)別。

      1.2 特征提取法

      特征提取法是先將單個(gè)字符分解成水平線、斜線、曲線等不同的字符特征,然后將這些字符特征與預(yù)先保存的字符特征進(jìn)行比較,將特征最為接近的字符認(rèn)定為目標(biāo)字符。該方式拆分難度大、識(shí)別時(shí)間長(zhǎng),同時(shí),對(duì)于漢字特征極為相似或基本相同的字符,識(shí)別準(zhǔn)確率較低。

      鑒于OCR技術(shù)在識(shí)別中存在不能完全正確識(shí)別及識(shí)別速率不高的情況,結(jié)合DMI顯示字符信息的特性,本文設(shè)計(jì)了一種基于點(diǎn)陣對(duì)比方式進(jìn)行字符識(shí)別的方法,此方法是一種完全對(duì)比的識(shí)別方法,通過將圖像字符的點(diǎn)陣數(shù)據(jù)與字庫(kù)中的點(diǎn)陣數(shù)據(jù)進(jìn)行對(duì)比,只有完全吻合時(shí),才判斷是目標(biāo)字符。

      2 系統(tǒng)功能設(shè)計(jì)

      對(duì)圖像字符的識(shí)別主要分為圖像二值化、字符串定位與剪裁、字符分割、字符識(shí)別4個(gè)過程,如圖1所示。

      圖1 字符識(shí)別流程圖

      2.1 圖像二值化

      圖像二值化是將一幅彩色圖像轉(zhuǎn)換成為只有黑和白兩種顏色的圖像,并且使文字和背景各用一種顏色,如圖2所示。

      圖2 圖像二值化轉(zhuǎn)換圖

      圖像字符二值化的主要目的包括以下兩點(diǎn)。

      (1)被識(shí)別圖像上的顏色通常多于兩種,甚至字體顏色也存在多種的情況。二值化能夠?qū)⒆煮w顏色轉(zhuǎn)換成白色,背景顏色轉(zhuǎn)換成黑色。

      (2)僅有黑白兩種顏色的圖像,圖像尺寸較小,且顏色對(duì)比較為明顯,便于對(duì)字符進(jìn)行識(shí)別。

      圖像二值化過程主要包含色彩轉(zhuǎn)換、閥值計(jì)算、像素二值化、顏色反轉(zhuǎn)4個(gè)步驟。

      2.1.1 色彩轉(zhuǎn)換

      彩色圖像中的每個(gè)像素都是由紅、綠、藍(lán)3種顏色分量組合而成,每種顏色分量按照不同的比例混合,能夠搭配出各種各樣的顏色。色彩轉(zhuǎn)換的目的是將彩色圖像轉(zhuǎn)成灰度圖像。

      圖3 圖像顏色分量提取

      遍歷圖像中的每個(gè)像素,針對(duì)每個(gè)像素分別取出它的紅、綠、藍(lán)3個(gè)顏色分量,如圖3所示,假設(shè)像素i紅、綠、藍(lán)3個(gè)顏色的顏色分量分別為Ri、Gi、Bi,如式(1),計(jì)算得到灰度值Di:

      式中:Pr、Pg、Pb分別是紅、綠、藍(lán)3個(gè)顏色分量的乘法系數(shù),表示紅、綠、藍(lán)3個(gè)顏色分量對(duì)于轉(zhuǎn)換后的黑白圖像所起的作用程度,取值范圍介于0.0~1.0之間,且三者相加的和應(yīng)等于1.0。

      若將Pr、Pg、Pb三者的值都設(shè)置為0.333,則像素轉(zhuǎn)換后的灰度值為紅、綠、藍(lán)3個(gè)顏色分量的平均值,也可以如式(2)所示。

      將整幅圖像中每個(gè)像素轉(zhuǎn)換完畢之后,即可得到一張只包含有灰度分量的灰度圖像,如圖4所示。

      圖4 色彩轉(zhuǎn)換示意圖

      2.1.2 閾值計(jì)算

      閾值的作用是將圖像中大于閾值的灰度變?yōu)橐环N顏色(通常為白色),而將小于閾值的灰度變?yōu)榱硪环N顏色(通常為黑色)。閾值計(jì)算的方法很多,這里選用最簡(jiǎn)單的方法,即統(tǒng)計(jì)出灰度圖像中的最大灰度值(Dmax)和最小灰度值(Dmin),然后計(jì)算二者的平均值T作為閾值,如式(3)所示。

      2.1.3 像素二值化

      為了使圖像變?yōu)楹诎讏D像,即前景字體顏色變?yōu)榘咨?、背景顏色變?yōu)楹谏?,使用式?)中計(jì)算的閾值,遍歷灰度圖像中的每個(gè)像素,將圖像中大于閾值的灰度變?yōu)榘咨?,小于閾值的灰度變?yōu)楹谏?,如圖5所示。

      2.1.4 顏色反轉(zhuǎn)

      圖5 像素二值化示意圖

      在某些情況下,經(jīng)過像素二值化處理后,可能出現(xiàn)背景顏色為白色、前景字體顏色變成了黑色的相反情況。此時(shí),需要將黑白兩種顏色進(jìn)行反轉(zhuǎn)。

      首先判斷二值化后的圖像是否需要反轉(zhuǎn)。判斷的方法是,分別統(tǒng)計(jì)白色像素和黑色像素的數(shù)量,比較黑白像素?cái)?shù)量的多少。如果黑色像素少于白色則需要做反轉(zhuǎn),否則,如果白色像素少于黑色像素則不需要做反轉(zhuǎn)。當(dāng)判斷的結(jié)果是需要反轉(zhuǎn)時(shí),遍歷二值化后的圖像中每個(gè)像素,將黑白顏色依次互換。

      2.2 字符串定位與剪裁

      字符串定位與剪裁是指將字符串的最小圖像范圍之外的部分剪裁掉,只保留包含有字符串的最小區(qū)域。目的是盡量減小圖像中其他區(qū)域?qū)D像字符識(shí)別的影響,并降低在識(shí)別過程中的計(jì)算時(shí)間,如圖6所示。

      圖6 字符串定位與剪裁示意圖

      字符串定位與剪裁過程需計(jì)算出圖像中字體所在區(qū)域的外接矩形,再將這個(gè)矩形區(qū)域剪裁出來,僅保留矩形區(qū)域內(nèi)部的內(nèi)容。

      字符串定位與剪裁過程的步驟如下。

      (1)先依次遍歷二值化后圖像的每一行,統(tǒng)計(jì)出每一行中前景色(白色)像素的數(shù)量[7],如圖7所示。

      圖7 前景色像素?cái)?shù)量統(tǒng)計(jì)

      (2)遍歷完所有行后,得到一個(gè)一維數(shù)組,數(shù)組中的每一個(gè)元素對(duì)應(yīng)二值化后圖像的每一行,表示每一行中前景色(白色)像素的數(shù)量。圖7對(duì)應(yīng)的數(shù)組為[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 5, 18, 33, 14, 27,17, 26, 17, 17, 17, 21, 19, 5, 20, 3, 0, 0, 0, 0, 0, 0, 0,0, 0]。

      (3)在數(shù)組中找出第1個(gè)不為零的元素和最后1個(gè)不為零的元素,記錄下這兩個(gè)元素在數(shù)組中的序號(hào),如圖7中對(duì)應(yīng)的序號(hào)分別為10和25, 這兩個(gè)序號(hào)就是字體所在區(qū)域外接矩形的上邊緣和下邊緣。

      (4)將上下邊緣以外的圖像裁掉,僅保留上下邊緣之間的部分。如圖7僅保留第10行~第25行之間的部分。

      (5)效仿(1)~(4),找到字體所在區(qū)域外接矩形的左右邊緣,并將左右邊緣以外的圖像剪掉。

      通過(1)~(5),得到包含字符串的最小區(qū)域的圖像。

      2.3 字符分割

      字符分割[8]采用一種遞歸的方法,通過不斷嘗試畫分割線,并根據(jù)畫出的分割線與字符串是否相交決定繼續(xù)分割還是退回重新畫分割線。以此來判別每個(gè)字符的邊界范圍,將字符串中每個(gè)字符所占據(jù)的區(qū)域計(jì)算出來,如圖8所示。

      圖8 字符分割示意圖

      2.3.1 字符分割的條件

      字符分割需要字符串所使用的字庫(kù)滿足下列條件。

      (1)字庫(kù)中的全角字符所占區(qū)域的寬度和高度等于字號(hào)。如圖8中字號(hào)是16號(hào),則該字庫(kù)中的全角字符所占區(qū)域的寬度和高度應(yīng)等于16。這里指的是所占區(qū)域的寬度和高度,不是指字符本身的寬度和高度。

      (2)字庫(kù)中的半角字符所占區(qū)域的高度等于字號(hào),寬度等于字號(hào)的一半。圖8所使用的字庫(kù)中的半角字符所占區(qū)域的高度和寬度分別等于16和8。

      (3)字庫(kù)中的每一個(gè)字符(包括全角和半角),所在區(qū)域的最左列和最右列必須為背景色。

      2.3.2 字符分割流程

      字符分割是在圖像中針對(duì)每個(gè)字符找出一根對(duì)應(yīng)的縱向分割線,使得分割線恰好落在兩個(gè)字符之間,然后依據(jù)分割線將圖像分割成若干塊;為了便于理解,在圖像的左右兩邊也畫出了一條分割線,如圖9所示。但針對(duì)左右兩部分存在間隙的左右結(jié)構(gòu)的漢字,應(yīng)當(dāng)避免被分割線一分為二,如川、和、好、如等。

      圖9 分割線示意圖

      在圖像中找分割線之前,應(yīng)先計(jì)算出相鄰的兩條分割線之間的正確距離,在上述字庫(kù)的限制條件中已明確圖像中字符寬度應(yīng)等于字號(hào)或字號(hào)的一半,則相鄰兩條分割線之間的距離也應(yīng)等于字號(hào)或字號(hào)的一半。如圖9中任意兩條相鄰分割線之間的距離應(yīng)等于16或8。

      字符分割線的確定采用從左至右的遞歸方法,以不斷向前邁步嘗試和向后回退的方式來判別每個(gè)字符的邊界范圍,并劃上分割線,具體分割步驟如下。

      (1)設(shè)置變量N的初始值為1;

      (2)在圖像最左邊的外側(cè)第N像素處畫一條分割線,由于這條分割線在字符左邊緣外側(cè),假設(shè)字符的坐標(biāo)從0開始,則它在圖像上的橫坐標(biāo)是-N;

      (3)從當(dāng)前分割線向右方邁步,邁步的步長(zhǎng)為字號(hào)或字號(hào)的一半,若第1次到達(dá)圖像的此坐標(biāo)處,則使用字號(hào)作為步長(zhǎng),若第2次到達(dá)圖像的此坐標(biāo)處則使用字號(hào)的一半作為步長(zhǎng),若第3次到達(dá)圖像的此坐標(biāo)處,則說明當(dāng)前的分割線位置是錯(cuò)誤的,將當(dāng)前分割線取消,回退至前一次邁步位置,并重新執(zhí)行本步驟,若此時(shí)已位于圖像的最左邊緣,應(yīng)清除所有分割線,將N的值增加1,然后執(zhí)行(2);

      (4)在邁出后的位置嘗試畫一條分割線,如果分割線與字體不相交,即分割線所在的縱線上沒有字體像素,則執(zhí)行(5),否則,若分割線與字體相交,則執(zhí)行(6);

      (5)將這條分割線與前一條分割線之間的區(qū)域假定為一個(gè)字符,并將這個(gè)區(qū)域裁剪出來做字符識(shí)別嘗試,若字符識(shí)別失敗,則執(zhí)行(6),否則,暫時(shí)認(rèn)定本次邁步成功,并執(zhí)行(7);

      (6)進(jìn)入此步驟,表明向前邁步失敗,應(yīng)將之前畫的分割線取消,回退至前一次邁步位置,并重新執(zhí)行(3);

      (7)判斷當(dāng)前所在位置是否已達(dá)圖像的最右端,如果未到達(dá),執(zhí)行(3),繼續(xù)查找下一條分割線,若已達(dá)圖像的最右端,則執(zhí)行(8);

      (8)進(jìn)入此步驟,表明所有的分割線都已經(jīng)成功搜索完畢,將每一次邁步過程中識(shí)別出的字符依次連接,形成字符串。

      以上步驟流程如圖10所示。

      圖10 字符分割流程圖

      2.4 字符識(shí)別

      字符識(shí)別是將圖像中每個(gè)字符區(qū)域的像素信息數(shù)據(jù)化,與字庫(kù)中的數(shù)組比對(duì),數(shù)組中每個(gè)字節(jié)都相等則輸出這個(gè)字符,圖像中所有字符識(shí)別完成連接起來,形成字符串。

      字符識(shí)別過程主要包含字符居中、圖像數(shù)據(jù)化、字庫(kù)對(duì)照3個(gè)步驟。

      2.4.1 字符居中

      在字符分割過程得到的結(jié)果中,大多數(shù)情況圖像中字符是居中的,但特定漢字、字母、標(biāo)點(diǎn)符號(hào)是無法居中的,如下劃線“_”上下不居中,中括號(hào)“[”和“]”左右不居中。因此需要對(duì)這些特殊字符圖像做居中化處理。

      2.4.2 圖像數(shù)據(jù)化

      進(jìn)行至該步驟時(shí),圖像只包含此單個(gè)字符的前景色和背景色,圖像的每個(gè)像素都是構(gòu)成字符數(shù)據(jù)的必要點(diǎn),以點(diǎn)陣樣式呈現(xiàn),此種圖像為字符的點(diǎn)陣圖像。把字符圖像轉(zhuǎn)化為二進(jìn)制數(shù)據(jù)的轉(zhuǎn)化方式如下。

      (1)將圖像中的前景色的點(diǎn)認(rèn)為是1,將背景色的點(diǎn)認(rèn)為是0。

      (2)按照先列后行的順序依次遍歷圖像中的每個(gè)點(diǎn)。

      (3)在遍歷每一行時(shí),將行內(nèi)的點(diǎn)認(rèn)為是1 bit,組成相應(yīng)的字節(jié)數(shù)據(jù)。

      (4)在遍歷完成每一行之后,即得到了圖像的點(diǎn)陣數(shù)據(jù),它存在形式是數(shù)組,數(shù)組中的每個(gè)字節(jié)表示8個(gè)點(diǎn)的信息。

      2.4.3 字庫(kù)對(duì)照

      字庫(kù)對(duì)照采用點(diǎn)陣對(duì)比的方法來對(duì)2.4.2中的字符點(diǎn)陣做識(shí)別。點(diǎn)陣對(duì)比是指,將數(shù)據(jù)化后的字符點(diǎn)陣數(shù)組分別與字庫(kù)中的每個(gè)字符對(duì)應(yīng)的點(diǎn)陣數(shù)組逐個(gè)作對(duì)比,若兩數(shù)組的對(duì)應(yīng)字節(jié)均相等,則認(rèn)為此字符就是圖像中的字符,取出它的GBK編碼,識(shí)別成功,否則,認(rèn)為識(shí)別失敗[9-10]。

      對(duì)原圖像中的所有字符逐一進(jìn)行比對(duì),待圖像中所有字符串均識(shí)別完成后,將每個(gè)字符的GBK編碼依次連接,形成字符串,至此,字符識(shí)別全部完成。

      3 系統(tǒng)開發(fā)與測(cè)試

      3.1 開發(fā)平臺(tái)環(huán)境

      本方法主要是針對(duì)數(shù)據(jù)做轉(zhuǎn)換和處理,不涉及到對(duì)操作系統(tǒng)的依賴,可以適用于多種操作系統(tǒng)和開發(fā)語(yǔ)言。操作系統(tǒng)可選用Windows或Linux,開發(fā)語(yǔ)言可選用C語(yǔ)言、C++語(yǔ)言、Java語(yǔ)言等。

      本文選用的操作系統(tǒng)是Windows 7,開發(fā)語(yǔ)言是C++語(yǔ)言,并以Visual Studio 2013作為開發(fā)環(huán)境。

      3.2 系統(tǒng)測(cè)試

      開發(fā)完成后,使用該系統(tǒng)測(cè)試讀取了600張LKJ界面的真實(shí)截圖,并對(duì)識(shí)別后獲得的結(jié)果進(jìn)行人工核驗(yàn)。經(jīng)驗(yàn)證字符識(shí)別的正確率可達(dá)到98%,單次識(shí)別時(shí)間小于1 s。

      4 結(jié)束語(yǔ)

      本文采用了基于點(diǎn)陣對(duì)比的方法,既能實(shí)現(xiàn)半角字符和全角字符混合排版識(shí)別,又不需要圖像處理所必需的大規(guī)模計(jì)算,且字符識(shí)別速率及準(zhǔn)確度均較高,能滿足對(duì)DMI顯示字符信息進(jìn)行準(zhǔn)確識(shí)別的應(yīng)用需要。下一步,為適應(yīng)更高識(shí)別速率的需求,在算法實(shí)現(xiàn)上可采用匯編編碼,或者采用相關(guān)的硬件圖形卡來輔助實(shí)現(xiàn)。該研究結(jié)果已在新一代列車運(yùn)行監(jiān)控裝置(LKJ)軟件仿真測(cè)試系統(tǒng)中成功應(yīng)用,實(shí)現(xiàn)了對(duì)DMI顯示字符信息的準(zhǔn)確性、完整性的識(shí)別,顯著提高了識(shí)別效率。

      猜你喜歡
      字庫(kù)分割線字符識(shí)別
      女裝分割線結(jié)構(gòu)設(shè)計(jì)技術(shù)研究
      遼寧絲綢(2022年1期)2022-03-29 00:59:00
      No.2 喜茶聯(lián)合漢儀字庫(kù)推出微型書和書簽
      某型號(hào)產(chǎn)品的字庫(kù)遷移優(yōu)化設(shè)計(jì)
      電子世界(2018年7期)2018-04-26 08:51:35
      一種改進(jìn)深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)的英文字符識(shí)別
      儀表字符識(shí)別中的圖像處理算法研究
      分割線設(shè)計(jì)手法在服裝設(shè)計(jì)中的運(yùn)用分析
      基于CUDA和深度置信網(wǎng)絡(luò)的手寫字符識(shí)別
      分割線在服裝結(jié)構(gòu)設(shè)計(jì)中的運(yùn)用
      新課程(下)(2015年10期)2015-08-15 00:53:42
      相同字庫(kù)條件下激光打印文件特征的變化規(guī)律和特點(diǎn)
      X型女裝外套分割線設(shè)計(jì)研究*
      车致| 抚州市| 江门市| 泾川县| 融水| 永靖县| 湘阴县| 三亚市| 文水县| 宁夏| 龙里县| 论坛| 盐池县| 仪陇县| 黔江区| 含山县| 滦平县| 嘉善县| 筠连县| 高雄市| 逊克县| 星子县| 平乐县| 哈巴河县| 揭西县| 普洱| 新河县| 嘉荫县| 佳木斯市| 惠安县| 青冈县| 白沙| 德昌县| 大化| 资兴市| 商洛市| 泸定县| 阳新县| 海阳市| 福鼎市| 平顺县|