季晨生,徐 明,王經(jīng)緯,黃 鑫,王軍明
揚(yáng)州大學(xué)信息工程學(xué)院,江蘇揚(yáng)州 225127
如今信息技術(shù)飛速發(fā)展,中文字庫(kù)中除了錄有中國(guó)傳統(tǒng)經(jīng)典的字體外,還有專(zhuān)業(yè)廠商制作的字庫(kù)。近幾年,較大規(guī)模的西文字體識(shí)別與檢索已有成效,而識(shí)別中文字體的網(wǎng)站卻很少。據(jù)不完全統(tǒng)計(jì),目前可以下載的中文字體大概有15000多種,而字體網(wǎng)站只提供字體的預(yù)覽和下載功能,目標(biāo)性不強(qiáng)[1-2]。
當(dāng)今智能手機(jī)已經(jīng)相當(dāng)普及,全球兩大類(lèi)智能手機(jī)iphone和Android,其中安卓在中國(guó)市場(chǎng)占有率為89.9%,因此開(kāi)發(fā)基于安卓的字體識(shí)別軟件,將極大地滿(mǎn)足市場(chǎng)尤其是廣大字體愛(ài)好者的應(yīng)用需求。
為了減輕客戶(hù)端的運(yùn)行壓力,大部分的系統(tǒng)操作都將放在服務(wù)器端進(jìn)行,而客戶(hù)端只需進(jìn)行簡(jiǎn)單提交圖片、提交文字等操作。然后通過(guò)http方式實(shí)現(xiàn)與服務(wù)器數(shù)據(jù)傳輸。
當(dāng)用戶(hù)上傳圖片到達(dá)服務(wù)器端后,服務(wù)器端通過(guò)后臺(tái)程序,將圖片存儲(chǔ)到某一特定文件夾下,程序自動(dòng)查找到與之相匹配的文字,并將這些文字生成一個(gè)固定大小的圖片,形成RGB矩陣,再將這些矩陣進(jìn)行比較,得到相應(yīng)的匹配率。按照匹配率,對(duì)字體格式進(jìn)行排序,并將排好的數(shù)組,返回給客戶(hù)端,完成一次數(shù)據(jù)交互。因此,對(duì)于服務(wù)器端,我們要用到serverlet技術(shù)和javabean技術(shù),將操作寫(xiě)入javabean中,用serverlet將用戶(hù)頁(yè)面與后臺(tái)邏輯操作連接起來(lái)。
1.3.1 常用的識(shí)別技術(shù)
圖像處理通常需要將圖像劃分為若干不相交的區(qū)域,圖像分割是圖像處理的基礎(chǔ)。常用的有閾值與圖像分割技術(shù)、梯度與圖像分割技術(shù),通過(guò)閾值來(lái)對(duì)圖像進(jìn)行二值化能讓計(jì)算機(jī)處理的數(shù)據(jù)量大大減少[3]。
分割后的圖像需要對(duì)鹽粒噪音和毛刺噪音進(jìn)行消除,通常采用濾波的方法,根據(jù)噪音產(chǎn)生機(jī)理的不同設(shè)計(jì)不同的濾波方法,為減少脈沖干擾,可采用中值濾波法[4]。
匹配算法主要有:基于邊緣、基于像素點(diǎn)等比較算法[5]。
1.3.2 字體識(shí)別技術(shù)
1)閾值分割技術(shù)
本程序因手機(jī)內(nèi)存限制,不能通過(guò)拖動(dòng)控制條來(lái)實(shí)時(shí)改變閾值,但是如果灰度均值偏小或者灰度均值過(guò)大時(shí),僅用單一的閾值算法將很難得到合適的結(jié)果,所以通常采用兩種閾值:最佳閾值法和大津法,兩者相結(jié)合自動(dòng)尋找合適的閾值[6]。
設(shè):最佳閾值法計(jì)算的閾值N,大津法計(jì)算的閾值M,平均灰度值aver,則:
2)降噪算法
由于不同型號(hào)手機(jī)攝像頭性能各異,加之拍攝手法不同,程序獲取的圖片源質(zhì)量不高,二值化后容易出現(xiàn)噪點(diǎn)現(xiàn)象,影響后期匹配算法,因此借助比較常見(jiàn)的降噪算法:中值濾波、均值濾波、對(duì)稱(chēng)近鄰均值濾波法,在處理細(xì)小噪點(diǎn)的算法中,均值濾波算法效率較高但容易降低圖片的銳度和細(xì)節(jié),綜合效果中值濾波法更適合。
本手機(jī)字體識(shí)別系統(tǒng)主要包括如下功能:
截圖功能、二值化處理功能、查找文字邊界、生成字庫(kù)圖片、統(tǒng)計(jì)排序功能、手機(jī)端“掃一掃”功能。通過(guò)手機(jī)攝像頭取圖并處理,將處理后的圖片和相應(yīng)的文字發(fā)送到服務(wù)器端進(jìn)行處理,服務(wù)器將查詢(xún)結(jié)果再返回給客戶(hù)端。
經(jīng)測(cè)試,本軟件可以實(shí)現(xiàn)字體圖片獲取、上傳、識(shí)別并返回結(jié)果等相關(guān)功能。手機(jī)Android客戶(hù)端操作簡(jiǎn)單明了,產(chǎn)生的結(jié)果能滿(mǎn)足用戶(hù)的需求。識(shí)別字體的方法位于服務(wù)器端,方便日常的維護(hù)升級(jí)。軟件基本達(dá)到預(yù)期目的。下一步的研究工作將致力于歷史記錄、字體收藏、下載、替換等后續(xù)功能的開(kāi)發(fā),并對(duì)算法做進(jìn)一步的改進(jìn),以提高對(duì)于字體的識(shí)別能力,加快字體處理速度。
[1] Find-your-font in large font databases, SolliM Lenz R. , Proceedings of the 15th Scandinavian Conference on Image analysis. Aalborg, Denmark,2007: 432–441.
[2] The snippet statistics of font recognition,Lidke J, Thurau C, Bauckhage C. , 20th International Conference on Pattern Recognition.Istanbul, 2010:1868–1871.
[3]金立左,夏良正,楊世周. 圖象分割的自適應(yīng)模糊閾值法,中國(guó)圖象圖形學(xué)報(bào),2000(5).
[4]改進(jìn)的自適應(yīng)中值濾波算法,黃寶貴 盧振泰 馬春梅趙景秀,計(jì)算機(jī)應(yīng)用,2011(7).
[5]周瑜,劉俊濤,白翔.形狀匹配方法研究與展望,自動(dòng)化學(xué)報(bào),2012(6).
[6]羅三定,譚曉東.圖像分割中最佳閾值集的選擇與評(píng)測(cè),計(jì)算機(jī)與信息技術(shù),2007(6).