亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Tesseract-OCR的字符識(shí)別技術(shù)在特定場(chǎng)合的應(yīng)用

        2020-11-07 01:48:56

        吳 鳴

        (湖南城市學(xué)院 信息與電子工程學(xué)院,湖南 益陽(yáng) 413000)

        圖片的字符識(shí)別過(guò)程是一整套流程,它包括圖片分析、預(yù)處理、字符識(shí)別和識(shí)別矯正等,每個(gè)步驟都關(guān)系著最終識(shí)別結(jié)果的準(zhǔn)確性﹒比如要進(jìn)行字符識(shí)別的圖片越清晰(即預(yù)處理做的越好),識(shí)別效果往往就越好﹒字符識(shí)別是圖片的字符識(shí)別過(guò)程中最重要的環(huán)節(jié)﹒目前,最常用也最成熟的字符識(shí)別技術(shù)是光學(xué)字符識(shí)別(Optical Character Recognition,OCR)[1]﹒OCR 是針對(duì)印刷體字符,采用光學(xué)的方式將紙質(zhì)文檔中的文字轉(zhuǎn)換成為黑白點(diǎn)陣的圖像文件,并通過(guò)識(shí)別軟件將圖像中的文字轉(zhuǎn)換成文本格式,供文字處理軟件進(jìn)一步編輯加工的技術(shù)﹒

        國(guó)內(nèi)很多企業(yè)和平臺(tái)都提供了OCR 服務(wù),如漢王OCR、百度OCR 和阿里OCR 等,還有OCRMAKER 等在線字符識(shí)別網(wǎng)站﹒這些開(kāi)放平臺(tái)字符識(shí)別的準(zhǔn)確率很高,但有2 個(gè)缺點(diǎn):一是不適合圖片的批處理;二是用戶無(wú)法控制識(shí)別的準(zhǔn)確度,不能在OCR 識(shí)別上做改進(jìn),能做的只有預(yù)處理和后期矯正[2]﹒因此,針對(duì)某些特定的應(yīng)用場(chǎng)合,專門(mén)為其設(shè)計(jì)字符自動(dòng)識(shí)別的系統(tǒng)顯得尤為重要﹒

        Tesseract 是一款由 HP 實(shí)驗(yàn)室開(kāi)發(fā)并由Google 維護(hù)的OCR 引擎,它可以讀取各種格式的圖像并將它們轉(zhuǎn)化成超過(guò)60 種語(yǔ)言(包括中文)的文本,并且支持用戶不斷訓(xùn)練字庫(kù),以提高字符識(shí)別準(zhǔn)確率﹒如果有實(shí)際需要,還可以它為模板,開(kāi)發(fā)出符合自身需求的OCR 引擎﹒本系統(tǒng)將使用Tesseract 進(jìn)行字符識(shí)別﹒

        1 應(yīng)用背景

        針對(duì)某娛樂(lè)平臺(tái)上所積累的上千張玩家游戲成績(jī)的樣本圖片(如圖1 所示),系統(tǒng)要求能識(shí)別出圖片上的玩家姓名及其對(duì)應(yīng)的總成績(jī),并整合成一個(gè)json 文件,以供后續(xù)的數(shù)據(jù)分析和處理﹒

        圖1 樣本圖片示例

        2 系統(tǒng)結(jié)構(gòu)

        本系統(tǒng)主要分為4 個(gè)部分:圖片預(yù)處理、訓(xùn)練字庫(kù)、字符識(shí)別以及識(shí)別矯正﹒整個(gè)系統(tǒng)結(jié)構(gòu)如圖2 所示﹒

        圖2 系統(tǒng)結(jié)構(gòu)

        圖2 中,各部分主要功能如下:

        1)圖片預(yù)處理﹒該模塊的功能主要是將樣本圖片進(jìn)行尺寸統(tǒng)一、分割、灰度化和二值化等預(yù)處理,為后續(xù)的字符識(shí)別做準(zhǔn)備﹒

        2)訓(xùn)練字庫(kù)﹒利用Tesseract 對(duì)樣本圖片里的字符進(jìn)行針對(duì)性訓(xùn)練,以提高識(shí)別準(zhǔn)確率﹒

        3)字符識(shí)別﹒調(diào)用Tesseract 引擎對(duì)預(yù)處理后的圖片進(jìn)行字符識(shí)別﹒

        4)識(shí)別矯正﹒針對(duì)拒識(shí)或誤識(shí)的圖片字符進(jìn)行矯正﹒

        3 圖片預(yù)處理

        3.1 分割圖片

        經(jīng)過(guò)分析,發(fā)現(xiàn)這些樣本圖片(見(jiàn)圖1)的大小和分辨率都不一致,不利于后續(xù)的批量處理﹒另外圖片里有很多字符,而真正有用的只有6 個(gè)內(nèi)容,即3 個(gè)玩家的姓名,以及對(duì)應(yīng)的總成績(jī)﹒因此,首先要做的是統(tǒng)一圖片的尺寸,然后把這些圖片分割成6 張小圖片,以此簡(jiǎn)化識(shí)別難度,提高識(shí)別準(zhǔn)確率﹒

        統(tǒng)一尺寸再分割后的圖片保存到cropped 文件夾中,里面的圖片如圖3 所示﹒

        圖3 分割后的圖片

        3.2 圖片灰度化

        分割后的彩色圖片需要先轉(zhuǎn)換為灰度圖﹒灰度圖又稱灰階圖,就是將白與黑中間的顏色等分為若干等級(jí),稱為灰度,灰度分為256 階[3]﹒灰度化的過(guò)程就是將每個(gè)像素點(diǎn)的RGB 值統(tǒng)一成同一個(gè)值,因此需要分別對(duì)RGB 3 種分量進(jìn)行處理﹒根據(jù)重要性及其它指標(biāo),按式(1)對(duì)RGB 分量進(jìn)行加權(quán)平均能得到較合理的灰度圖片﹒

        3.3 圖片二值化

        3.3.1 基本概念

        圖片的二值化[4-5],就是將圖片變成黑或者白2 種顏色﹒在很多場(chǎng)合,對(duì)圖片進(jìn)行二值化,可以忽略圖片的顏色信息、背景信息,保留更加重要的形態(tài)信息﹒并且圖片二值化處理之后,圖片的信息量大為減少,處理起來(lái)也更加方便﹒

        二值化常用的方法是設(shè)定一個(gè)閾值T,用T將圖片的數(shù)據(jù)分成2 部分:大于T 的像素群和小于T 的像素群[4]﹒常用的確定最佳閾值的算法有很多種,如雙峰法、P 參數(shù)法、OTSU 法和最大熵閾值法等[5]﹒本系統(tǒng)采用OTSU 算法,它具有簡(jiǎn)單、易實(shí)現(xiàn)和執(zhí)行速度快等特點(diǎn)﹒

        3.3.2 OSTU 算法原理

        OSTU 算法的基本思想是用某一假定的灰度值t 將圖片的灰度分成2 組,求出2 組的類間方差,將t 在0~255 灰度值之間進(jìn)行迭代,當(dāng)2 組的類間方差最大時(shí),此灰度值t 就是圖片二值化的最佳閾值[6]﹒設(shè)圖片有M 個(gè)灰度值,取值范圍在0~(M?1)(在灰度圖里,M 的值為256),在此范圍內(nèi)選取灰度值t;再將圖片分成2 組(即G0和G1),G0包含的像素的灰度值在0~t,G1的灰度值在(t+1)~(M?1);用N 表示圖片像素總數(shù),ni表示灰度值為i 的像素的個(gè)數(shù)﹒已知每個(gè)灰度值出現(xiàn)的概率為pi=ni/N,假設(shè)G0和G12 組像素的個(gè)數(shù)在整體圖片中所占百分比為w0和w1,2 組的平均灰度值為u0和u1,可得式(2)~式(8)所示參數(shù)[7]﹒

        概率:

        平均灰度值:

        圖片的總平均灰度:

        類間方差:

        最佳閾值:

        3.3.3 OTSU 算法實(shí)現(xiàn)

        根據(jù)OTSU 算法原理,可以通過(guò)以下步驟求出每張灰度圖的最佳閾值﹒

        1)統(tǒng)計(jì)圖片0~255 個(gè)灰度值中每個(gè)灰度值出現(xiàn)的數(shù)量,放在pixel_counts 數(shù)組中;

        2)假定初始閾值best_threshold=0.0,最大方差max_g=0.0;

        3)閾值threshold 從0 開(kāi)始一直到255,循環(huán)執(zhí)行步驟4)~步驟9);

        4)根據(jù)pixel_counts 數(shù)組,求得閾值以下像素總數(shù)n0和閾值以上像素總數(shù)n1;

        5)用n0和n1分別除以圖片像素總數(shù),得到w0和w1;

        6)根據(jù)式(4)~式(6),求出圖片的總平均灰度u;

        7)根據(jù)式(7),求出類間方差g(t);

        8)當(dāng)g(t)值大于max_g 時(shí),則max_g=g,且best_threshold=threshold;

        9)返回步驟3),直到循環(huán)結(jié)束,最后得到的best_threshold 就是最佳閾值﹒

        cropped 文件夾下的圖片經(jīng)過(guò)預(yù)處理后,得到其灰度圖和二值圖,如圖4 所示﹒

        圖4 預(yù)處理后的圖片

        4 字符識(shí)別

        4.1 訓(xùn)練字庫(kù)

        本例圖片中的字符具有特殊性,尤其是數(shù)字是藝術(shù)字形式﹒Tesseract-OCR 引擎自帶的字庫(kù)對(duì)這些特定的字符識(shí)別率不高,為了提高識(shí)別率,需要額外做些優(yōu)化,優(yōu)化的重點(diǎn)主要集中在提高識(shí)別單個(gè)字符的準(zhǔn)確率﹒OCR 對(duì)獲取到的圖片進(jìn)行操作的步驟如下:

        1)通過(guò)灰度化、二值化和去噪點(diǎn)使得圖片的內(nèi)容更加突出,為下一步定位字符做準(zhǔn)備﹒

        2)從圖片中定位出字符,理想情況下能夠定位到單個(gè)字符﹒

        3)獲取定位到的字符,將其特征和特征數(shù)據(jù)進(jìn)行對(duì)比,從而判斷是什么字符﹒

        對(duì)指定的字符而言,不同的字體所表現(xiàn)出來(lái)的特征也不一樣﹒OCR 的任務(wù)就是將定位到的字符的字形特征和其已知的特征進(jìn)行比較,從而判斷出該字符是什么﹒如果OCR 本身的特征列表里面不包括要識(shí)別的字體特征,那么識(shí)別的準(zhǔn)確率肯定不理想﹒因此,有必要增加一種對(duì)字體的支持,即要訓(xùn)練一個(gè)待識(shí)別字符的字庫(kù),其具體步驟如下:

        1)獲取或者生成包括這種字體的圖片,轉(zhuǎn)化成tif 格式﹒

        2)通過(guò)Tesseract 的makebox 命令定位和識(shí)別字符,生成box 文件﹒

        3)通過(guò)jTessBoxEditor 等工具矯正識(shí)別出來(lái)的字符﹒

        4)根據(jù)box 文件和tif 文件進(jìn)行特征提取和字庫(kù)訓(xùn)練﹒

        5)生成訓(xùn)練數(shù)據(jù)﹒

        4.2 字符識(shí)別

        利用谷歌開(kāi)源OCR 引擎Tesseract 對(duì)圖片進(jìn)行字符識(shí)別﹒在系統(tǒng)中實(shí)現(xiàn)對(duì)一張圖片的字符識(shí)別只需調(diào)用pytesseract 庫(kù)里的image_to_string 方法,其代碼只有1 行,即 text=pytesseract.image_to_string(img, lang= LANG, config='--psm 7--oem 3')

        其中,text 就是識(shí)別后返回的字符內(nèi)容;LANG是自己訓(xùn)練的字庫(kù)或者Tesseract自帶語(yǔ)言包;img是預(yù)處理后的圖片﹒

        4.3 識(shí)別矯正

        即使訓(xùn)練了字庫(kù),Tesseract 依然會(huì)出現(xiàn)拒識(shí)或誤識(shí)的現(xiàn)象,其識(shí)別準(zhǔn)確率可能仍無(wú)法滿足要求,故需要進(jìn)一步的矯正﹒對(duì)于灰度圖,可以進(jìn)行灰度調(diào)整,也就是對(duì)比度增強(qiáng)[8]﹒增強(qiáng)對(duì)比度的目的是改善圖片的視覺(jué)效果,更加利于人或機(jī)器分析有意義的信息以及抑制無(wú)用信息,提高圖片的使用價(jià)值﹒通過(guò)調(diào)用PIL 庫(kù)的ImageEnhance模塊來(lái)實(shí)現(xiàn)灰度增強(qiáng),其關(guān)鍵代碼為

        n_img=ImageEnhance.Contrast(img).enhance(10).

        以其中1 張灰度圖為例,實(shí)驗(yàn)發(fā)現(xiàn)增強(qiáng)前拒識(shí),增強(qiáng)后則識(shí)別正確,如圖5 所示﹒

        圖5 灰度增強(qiáng)前、后識(shí)別效果對(duì)比

        5 結(jié)果分析

        本系統(tǒng)共訓(xùn)練了2 個(gè)字庫(kù),即灰度圖字庫(kù)和二值圖字庫(kù)﹒實(shí)驗(yàn)在2 種字庫(kù)下對(duì)灰度圖和二值圖分別進(jìn)行字符識(shí)別,并統(tǒng)計(jì)字庫(kù)訓(xùn)練前、訓(xùn)練后和矯正后的識(shí)別錯(cuò)誤率及識(shí)別時(shí)間等數(shù)據(jù)﹒所得結(jié)果如表1~表2 所示﹒

        表1 灰度圖實(shí)驗(yàn)結(jié)果

        表2 二值圖實(shí)驗(yàn)結(jié)果

        從表1 和表2 可以得出以下結(jié)論:

        1)訓(xùn)練字庫(kù)可以有效地提高Tesseract 的識(shí)別準(zhǔn)確率和識(shí)別速度﹒

        2)灰度圖比二值圖在訓(xùn)練字庫(kù)之后的字符識(shí)別準(zhǔn)確率更高﹒

        3)灰度圖可以通過(guò)增強(qiáng)圖片對(duì)比度進(jìn)一步地提高識(shí)別準(zhǔn)確率,而二值圖因無(wú)法進(jìn)行對(duì)比度增強(qiáng)處理,所以無(wú)法再次提高準(zhǔn)確率﹒顯然,本系統(tǒng)更適合使用灰度圖作為字符識(shí)別的樣本圖片﹒

        6 結(jié)語(yǔ)

        本文詳細(xì)地介紹了如何利用Tesseract-OCR技術(shù),針對(duì)某特定場(chǎng)合,設(shè)計(jì)和實(shí)現(xiàn)字符識(shí)別系統(tǒng)﹒系統(tǒng)先經(jīng)過(guò)對(duì)圖片的分割、灰度化和二值化等預(yù)處理過(guò)程,再利用Tesseract 對(duì)特定字符進(jìn)行針對(duì)性的訓(xùn)練,并完成了字符識(shí)別和矯正﹒結(jié)果表明,Tesseract 字庫(kù)訓(xùn)練可有效提高字符識(shí)別準(zhǔn)確率和識(shí)別速度,同時(shí)也發(fā)現(xiàn)灰度圖更適合作為本特定場(chǎng)合的樣本圖片﹒本系統(tǒng)雖不具有通用性,但對(duì)于其他類似特定場(chǎng)合下的字符識(shí)別具有一定實(shí)際參考價(jià)值﹒

        免费网站看v片在线18禁无码| 精品国产麻豆免费人成网站| 国产黄久色一区2区三区| av无码一区二区三区| 使劲快高潮了国语对白在线| 国产成人精品麻豆| 国产情侣自拍偷拍精品| 无码国产精成人午夜视频一区二区 | 北条麻妃国产九九九精品视频 | 无遮挡很爽视频在线观看| 亚洲不卡av一区二区三区四区| 蜜桃日本免费观看mv| 四虎影视在线观看2413| 中文字幕乱码中文乱码毛片 | 在线观看免费人成视频国产| 国产免费二区三区视频| 国产成+人欧美+综合在线观看| 在线视频你懂的国产福利| 人妻免费黄色片手机版| 日本亚洲精品一区二区三| 黄色a级国产免费大片| 免费一区二区三区视频狠狠| 国产精品高清国产三级国产av| 亚洲av无码乱码在线观看牲色| 国产欧美精品区一区二区三区| 国产精品美女久久久久浪潮AVⅤ| 涩涩鲁精品亚洲一区二区| 精品人妻午夜一区二区三区四区| 久久频道毛片免费不卡片| 一区两区三区视频在线观看| 日韩av无码社区一区二区三区| 女女女女bbbbbb毛片在线| 在线观看av片永久免费| 成人大片免费视频播放一级| 国内精品卡一卡二卡三| 女人体免费一区二区| 国产精品女丝袜白丝袜美腿| 挺进邻居丰满少妇的身体| 久久久精品免费观看国产| 蜜桃视频网站在线免费观看| 日韩最新在线不卡av|