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

?

BMP格式在個(gè)性化字庫(kù)自動(dòng)生成中的應(yīng)用

2012-04-29 13:18:46成耀王曉瑜顧翔魯松
電腦知識(shí)與技術(shù) 2012年34期

成耀 王曉瑜 顧翔 魯松

摘要:該文在分析BMP格式的基礎(chǔ)上,將BMP格式應(yīng)用于個(gè)性化字庫(kù)自動(dòng)生成,讀取的紙樣模板掃描圖像應(yīng)用BMP格式,處理程序自動(dòng)生成手寫(xiě)字的圖像結(jié)果文件應(yīng)用BMP格式。

關(guān)鍵詞:BMP格式;個(gè)性化字庫(kù);自動(dòng)生成

中圖分類(lèi)號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2012)34-8243-02

有道是見(jiàn)字如面,使用手寫(xiě)體會(huì)讓人倍感親切。但是,在現(xiàn)實(shí)生活中人們基本上只使用宋體、楷體、黑體等少數(shù)幾種字體。目前,只有少數(shù)人擁有自己的個(gè)性化字庫(kù)[1]。比如,2007年4月27日下午徐靜蕾發(fā)布了一款自己書(shū)寫(xiě)的個(gè)性化字體,此字體由方正電子根據(jù)徐靜蕾的手寫(xiě)字體為其量身定做,被命名“方正靜蕾簡(jiǎn)體”[2]。一種中文字庫(kù)制作大約要5個(gè)專(zhuān)業(yè)人員花費(fèi)1年的時(shí)間來(lái)完成,在各個(gè)階段均需投入大量的人力、物力和財(cái)力,因此目前只有少數(shù)幾家有實(shí)力的公司才能制作推出中文字庫(kù)[3]。如果把這個(gè)大家喜愛(ài)的個(gè)性化字庫(kù)比作舊時(shí)王謝堂前燕的話(huà),那么如何才能讓它飛入尋常百姓家呢?計(jì)算機(jī)技術(shù)的高速發(fā)展使得解決這個(gè)問(wèn)題比以前要容易許多。在研究個(gè)性化字庫(kù)自動(dòng)生成的過(guò)程中,筆者發(fā)現(xiàn)可以將用戶(hù)的手寫(xiě)體用高點(diǎn)陣圖片文件格式存儲(chǔ),以后在使用中只要用相應(yīng)軟件調(diào)用圖片文件就可以了。

1BMP格式

BMP是英文Bitmap(位圖)的簡(jiǎn)寫(xiě),它是Windows操作系統(tǒng)中的標(biāo)準(zhǔn)圖像文件格式,能夠被多種Windows應(yīng)用程序所支持。隨著Windows操作系統(tǒng)的流行與豐富的Windows應(yīng)用程序的開(kāi)發(fā),BMP位圖格式理所當(dāng)然地被廣泛應(yīng)用。這種格式的特點(diǎn)是包含的圖像信息較豐富,幾乎不進(jìn)行壓縮,但由此導(dǎo)致了它與生俱生來(lái)的缺點(diǎn)——占用磁盤(pán)空間過(guò)大[4]。

盡管文件大小比較大,但是位圖文件的簡(jiǎn)單性、在微軟視窗和其他地方的廣泛使用以及這種格式的優(yōu)秀文檔標(biāo)準(zhǔn)以及沒(méi)有專(zhuān)利約束,使得它成為其他操作系統(tǒng)圖像處理程序能夠讀寫(xiě)的一種最為常用的格式[5]。典型的位圖文件格式通常包含下面幾個(gè)數(shù)據(jù)塊,位圖頭:保存位圖文件的總體信息;位圖信息:保存位圖圖像的詳細(xì)信息;調(diào)色板:保存所用顏色的定義;位圖數(shù)據(jù):保存一個(gè)又一個(gè)像素的實(shí)際圖像。

仔細(xì)分析BMP格式,筆者發(fā)現(xiàn)要盡可能多的保留圖片信息,存儲(chǔ)時(shí)可為24位位圖格式。與之相對(duì)應(yīng)的主要內(nèi)容有:位圖的第2、第3個(gè)字(即第3至第6個(gè)字節(jié))保存位圖文件大??;位圖的第10、第11個(gè)字保存位圖寬度(即位圖總共有幾列,以像素個(gè)數(shù)表示);位圖的第12、第13個(gè)字保存位圖高度(即位圖總共有幾行);位圖的第18、第19個(gè)字保存圖像大?。ㄟ@是原始位圖數(shù)據(jù)的大小,比位圖文件少54個(gè)字節(jié));位圖數(shù)據(jù):這部分逐個(gè)像素表示圖像,像素是從下到上、從左到右保存的,每個(gè)像素使用三個(gè)字節(jié)表示,如果一個(gè)圖像水平線(xiàn)的字節(jié)數(shù)不是4的倍數(shù),這行就使用空字節(jié)補(bǔ)齊,通常是ASCII碼0。

2個(gè)性化字庫(kù)自動(dòng)生成

一款好的個(gè)性化矢量字庫(kù)是經(jīng)過(guò)很復(fù)雜的工藝流程設(shè)計(jì)、加工出來(lái)的,成本一般都在幾萬(wàn)元人民幣以上,普通老百姓用不起。研究自動(dòng)生成的個(gè)性化字庫(kù),能大大降低字庫(kù)的開(kāi)發(fā)成本,讓普通的電腦用戶(hù)都能消費(fèi)得起,從而達(dá)到提高辦公效率、節(jié)約時(shí)間的目標(biāo)。

在個(gè)性化字庫(kù)自動(dòng)生成研究中,首先,要設(shè)計(jì)好自動(dòng)化掃描識(shí)別紙樣模板。一個(gè)好的紙樣模板既能方便用戶(hù)書(shū)寫(xiě),又能適合計(jì)算機(jī)自動(dòng)處理。早先設(shè)計(jì)的思想是對(duì)紙樣模板上的字進(jìn)行等比例大小切割,在實(shí)際試驗(yàn)中發(fā)現(xiàn)這種做法存在不少問(wèn)題:?jiǎn)栴}一是手寫(xiě)的漢字大小不一;問(wèn)題二是每個(gè)字的邊緣都有大小不等的白邊,使得以后使用字庫(kù)中的字時(shí),字與字的間距很難看。經(jīng)過(guò)數(shù)次改進(jìn)后,現(xiàn)在的紙樣模板能較好地滿(mǎn)足任務(wù)需求。其次,要設(shè)計(jì)一個(gè)自動(dòng)化的圖像文件處理程序。目前,處理程序能對(duì)掃描的圖像文件進(jìn)行自動(dòng)識(shí)別、自動(dòng)按實(shí)際大小切割,將手工書(shū)寫(xiě)的漢字做成一個(gè)個(gè)高點(diǎn)陣的字模文件以圖片方式自動(dòng)存儲(chǔ)。

3BMP格式在個(gè)性化字庫(kù)自動(dòng)生成中的應(yīng)用

1)對(duì)掃描的BMP圖像文件的讀取

因?yàn)锽MP圖像都是按字節(jié)存儲(chǔ)的數(shù)值數(shù)據(jù),所以在處理時(shí)用字節(jié)文件打開(kāi)。打開(kāi)后首先讀出54字節(jié)的位圖頭、位圖信息等內(nèi)容存儲(chǔ)到數(shù)組,接著用一個(gè)三重循環(huán)讀出位圖數(shù)據(jù)存儲(chǔ)到數(shù)組,外循環(huán)處理行,中間循環(huán)處理列,內(nèi)循環(huán)處理一個(gè)像素點(diǎn)。因?yàn)锽MP的存儲(chǔ)格式是從下到上,和我們平時(shí)閱讀習(xí)慣從上到下不一樣,所以,外循環(huán)步長(zhǎng)取-1。

因?yàn)樵贐MP格式中,如果一個(gè)圖像水平線(xiàn)的字節(jié)數(shù)不是4的倍數(shù),這行就使用空字節(jié)補(bǔ)齊,所以在中間循環(huán)與外循環(huán)之間考慮讀每一行后面的空字節(jié)數(shù)據(jù)。

2)生成手寫(xiě)字的BMP圖像結(jié)果文件

首先,根據(jù)紙樣模板編程計(jì)算出對(duì)應(yīng)手寫(xiě)字的邊框范圍。其次,根據(jù)手寫(xiě)字對(duì)應(yīng)像素與周邊像素的黑白反差,采用逐步逼近的方法,精確求得BMP圖像中一個(gè)手寫(xiě)字的上下左右起始像素位置。

然后,上下位置差加1,求得對(duì)應(yīng)字BMP圖像的高;左右位置差加1,求得對(duì)應(yīng)字BMP圖像的寬。

生成位圖的第2、第3個(gè)字(即第3至第6個(gè)字節(jié))保存位圖文件大小的代碼如下:

這里的變量W2_3為位圖文件大小,它用十六進(jìn)制表示,它相應(yīng)的十進(jìn)制數(shù)值為54+圖像像素的行數(shù)*(圖像的列數(shù)*3后再加上0至3,調(diào)節(jié)成4的倍數(shù))。用相同的方法生成位圖的第10、11、12、13、18、19字。

最后,根據(jù)前面得到的一個(gè)手寫(xiě)字的上下左右起始像素位置、圖像的高、圖像的寬。采用讀取BMP圖像文件類(lèi)似的方法生成BMP圖像結(jié)果文件。

4結(jié)果分析

程序能自動(dòng)識(shí)別用戶(hù)在紙樣模板上的手寫(xiě)字,并將其生成BMP格式的結(jié)果文件。由國(guó)標(biāo)GB2312-80規(guī)定的6763個(gè)漢字生成個(gè)性化字庫(kù),同時(shí)兼容GBK編碼標(biāo)準(zhǔn)。以下為由個(gè)性化字庫(kù)中部分漢字構(gòu)成的樣例:

由于采用高點(diǎn)陣,所以在不是故意放大很多倍的情況下能夠保證字的清晰、自然,筆畫(huà)連貫圓潤(rùn)。所有的字都是百分之百地保持原汁原味。因此,這是一款真正體現(xiàn)書(shū)寫(xiě)者個(gè)性化的字體。

BMP格式的個(gè)性化字庫(kù)大大降低了字庫(kù)的開(kāi)發(fā)成本,它完全支持用戶(hù)的日常使用,使普通的電腦用戶(hù)都能消費(fèi)得起。用戶(hù)有了自己的個(gè)性化字庫(kù)以后,可以一勞永逸地節(jié)約時(shí)間、提高辦公效率。

參考文獻(xiàn):

[1]馬文軍.個(gè)性化中文字庫(kù)構(gòu)造初探[J].電腦知識(shí)與技術(shù),2006(6):127-127.

[2]百科ROBOT.方正徐靜蕾體[EB/OL].(2012-03-08).[2012-07-22].http://baike.baidu.com/view/1708957.htm.

[3]passion0728.計(jì)算機(jī)字庫(kù)的版權(quán)法保護(hù)——由方正字庫(kù)訴訟案件說(shuō)起[EB/OL].(2011-10-11).[2012-07-22].http://wenku.baidu.com/view/4012598a680203d8ce2f24fd.html,

[4]selina_sai.BMP格式[EB/OL].(2012-8-30).[2012-9-18].http://baike.baidu.com/view/189487.htm.

[5]維基人.BMP[EB/OL].(2012-8-12).[2012-9-18].http://zh.wikipedia.org/wiki/BMP.

滕州市| 东乡县| 南漳县| 安陆市| 襄城县| 望奎县| 康定县| 乌兰察布市| 阿克苏市| 响水县| 防城港市| 阿图什市| 手游| 大石桥市| 肇庆市| 上思县| 田东县| 平远县| 古丈县| 鸡西市| 中卫市| 小金县| 宿州市| 石家庄市| 新源县| 梧州市| 淮南市| 平凉市| 文成县| 商南县| 三门峡市| 科技| 双城市| 荔浦县| 贡嘎县| 张家口市| 新安县| 岑溪市| 利川市| 泰宁县| 全椒县|