基于計(jì)算機(jī)顯示的漢字字模提取_第1頁(yè)
基于計(jì)算機(jī)顯示的漢字字模提取_第2頁(yè)
基于計(jì)算機(jī)顯示的漢字字模提取_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

基于計(jì)算機(jī)顯示的漢字字模提取

隨著顯示技術(shù)的發(fā)展,手寫(xiě)漢字文件的顯示技術(shù)已經(jīng)成熟。然而,在懸掛技術(shù)的系統(tǒng)中,例如鐵路列車(chē)的顯示、車(chē)站站機(jī)場(chǎng)的列車(chē)顯示、銀行匯率顯示和其他系統(tǒng)中使用手寫(xiě)書(shū)寫(xiě)芯片并不經(jīng)濟(jì)。因此,計(jì)算機(jī)漢語(yǔ)庫(kù)函數(shù),直接調(diào)用漢語(yǔ)庫(kù)函數(shù),提取手寫(xiě)字模,可以節(jié)省硬件成本。豐富的前面板資源可以真實(shí)地提取二進(jìn)制文件中指定的初始位置和字節(jié)數(shù)的數(shù)據(jù),并且它豐富的前面板資源可以真實(shí)地提取提取的字節(jié),尤其是用于手寫(xiě)字母表提取程序的作文中。1漢字書(shū)寫(xiě)結(jié)構(gòu)和編碼方案1.1不同節(jié)點(diǎn)漢字字庫(kù)中網(wǎng)點(diǎn)字庫(kù)中字字庫(kù)的結(jié)構(gòu)一個(gè)漢字可以看成許多點(diǎn)陣排列出來(lái)的,漢字筆畫(huà)劃過(guò)的地方為“1”,其余地方為“0”,然后把這些點(diǎn)陣信息按一定順序排列,就是漢字的點(diǎn)陣字模.要顯示一個(gè)漢字,就必須知道這個(gè)漢字的點(diǎn)陣字模信息,這些字模有16×16點(diǎn)陣、24×24點(diǎn)陣、32×32點(diǎn)陣等,目前技術(shù)開(kāi)發(fā)中常用的是16×16點(diǎn)陣和24×24點(diǎn)陣2種.不同點(diǎn)陣漢字字體又有宋體、仿宋體、黑體、楷體之分.在計(jì)算機(jī)中,相同點(diǎn)陣、相同字體的字符存放在一個(gè)字庫(kù)中,稱(chēng)一個(gè)漢字庫(kù)文件.UC-DOS中的漢字庫(kù)文件HZK16、HZK16F、HZK24S、HZK24H、HZK24K、HZK24F分別對(duì)應(yīng)著16×16字體和繁體、24×24點(diǎn)陣的宋體、黑體、楷體和仿宋字體.在16×16點(diǎn)陣字庫(kù)中,點(diǎn)陣的結(jié)構(gòu)采用行排列的形式,共有16行,每行16個(gè)點(diǎn),每行點(diǎn)陣存入兩個(gè)字節(jié).因此,每個(gè)字符占用32個(gè)字節(jié),字節(jié)的存放順序?yàn)閺淖蟮接?、從上到?如圖1所示.在24×24點(diǎn)陣字庫(kù)中,點(diǎn)陣的結(jié)構(gòu)采用列排列的形式,共有24列,每列24個(gè)點(diǎn),每列點(diǎn)陣存入3個(gè)字節(jié).因此,每個(gè)字符占用72個(gè)字節(jié),字節(jié)的存放順序?yàn)閺纳系较隆淖蟮接?如圖2所示.1.2區(qū)位碼和字模的顯示在16×16漢字庫(kù)文件中,共分為87個(gè)區(qū),其中1至15區(qū)為常用符號(hào)區(qū),16至86區(qū)為一、二級(jí)漢字,87區(qū)為生僻漢字.在24×24漢字庫(kù)文件中,取消了常用符號(hào)區(qū),1至71區(qū)為一、二級(jí)漢字.每區(qū)有94個(gè)字符,每個(gè)漢字就在相應(yīng)的區(qū)和位,有著對(duì)應(yīng)的區(qū)碼和位碼.知道了一個(gè)漢字字符的區(qū)位碼就知道了這個(gè)漢字字模首字節(jié)在漢字庫(kù)文件中的起始位置,然后提取相應(yīng)字節(jié)數(shù)的數(shù)據(jù),就能得到漢字字符的字模.這些字模在計(jì)算機(jī)屏幕上和在LED顯示系統(tǒng)上顯示原理是相同的,在UC-DOS中,16×16點(diǎn)陣漢字的顯示方式與存儲(chǔ)方式相同,24×24點(diǎn)陣漢字顯示方式與存儲(chǔ)方式相比是旋轉(zhuǎn)了90°的.在實(shí)際應(yīng)用中,根據(jù)實(shí)際需要,可以選擇橫向排列的字模和豎向排列的字模.2字模的讀取算法將漢字輸入計(jì)算機(jī),就可以得到漢字的機(jī)內(nèi)碼,機(jī)內(nèi)碼是系統(tǒng)內(nèi)部處理和存儲(chǔ)漢字統(tǒng)一使用的代碼,它由兩個(gè)字節(jié)構(gòu)成.漢字機(jī)內(nèi)碼與區(qū)位碼的關(guān)系為區(qū)位碼=機(jī)內(nèi)碼?160(1)區(qū)位碼=機(jī)內(nèi)碼-160(1)對(duì)于16×16點(diǎn)陣字庫(kù),每個(gè)漢字占用32個(gè)字節(jié),其首字節(jié)的起始位置的計(jì)算公式為首字節(jié)=[(區(qū)碼?1)×94+位碼?1]×32(2)首字節(jié)=[(區(qū)碼-1)×94+位碼-1]×32(2)以此為基點(diǎn)連續(xù)讀取32個(gè)字節(jié)就是此漢字的點(diǎn)陣字模.對(duì)于24×24點(diǎn)陣字庫(kù),每個(gè)漢字占用72個(gè)字節(jié),其首字節(jié)的起始位置的計(jì)算公式為首字節(jié)=[(區(qū)碼?15?1)×94+位碼?1]×72(3)首字節(jié)=[(區(qū)碼-15-1)×94+位碼-1]×72(3)以此為基點(diǎn)連續(xù)讀取72個(gè)字節(jié)就是此漢字的點(diǎn)陣字模.3圖形化軟件階段基于以上的分析,以16×16點(diǎn)陣漢字庫(kù)文件HZK16為例,用LabVIEW編寫(xiě)程序提取16×16點(diǎn)陣漢字的字模并在計(jì)算機(jī)屏幕上顯示出來(lái).對(duì)于不同點(diǎn)陣大小和不同字體的漢字,可以調(diào)用不同的漢字庫(kù)文件從而得到相應(yīng)大小和字體的漢字字模.LabVIEW(LaboratoryVirtualInstrumentsEngineeringWorkbench)是美國(guó)國(guó)家儀器公司創(chuàng)新軟件產(chǎn)品,也是目前應(yīng)用最廣、發(fā)展最快、功能最強(qiáng)的圖形化軟件開(kāi)發(fā)集成環(huán)境.使用這種語(yǔ)言編程時(shí),基本不需要編寫(xiě)程序代碼,而是“繪制”程序流程圖.它提供了函數(shù)庫(kù)和高級(jí)分析子VI,用戶(hù)只需調(diào)出對(duì)應(yīng)的操作、功能、數(shù)據(jù)處理的節(jié)點(diǎn),配置相關(guān)參數(shù),連接好程序框圖,就可完成相應(yīng)的程序.3.1提取前面板的形成前面板是圖形化用戶(hù)界面,用于設(shè)置輸入數(shù)值和觀察輸出量.漢字字模提取程序的前面板如圖3所示,由漢字輸入、十六進(jìn)制漢字字模輸出,漢字顯示等幾部分組成.只需要在漢字輸入窗口輸入一個(gè)漢字,點(diǎn)擊提取后,由LED控件組成的矩陣就可以模擬真實(shí)的LED顯示元件顯示所輸入的漢字.3.2refnum端口框圖程序是定義VI功能的圖形化源代碼.漢字字模提取程序的框圖程序如圖4所示.其基本流程為:在輸入一個(gè)漢字后,得到這個(gè)漢字的機(jī)內(nèi)碼,從而進(jìn)一步計(jì)算得到這個(gè)漢字字模首字節(jié)在漢字庫(kù)文件HZK16中的位置.同時(shí)將一個(gè)指明漢字庫(kù)文件HZK16路徑的常量送入Open/Create/ReplaceFileVI的filepath端口,將文件HZK16打開(kāi)并得到文件的標(biāo)識(shí)號(hào),對(duì)漢字庫(kù)文件的后續(xù)操作都是依據(jù)這個(gè)標(biāo)識(shí)號(hào)來(lái)進(jìn)行.將文件HZK16的標(biāo)識(shí)號(hào)和得到的漢字字模首字節(jié)地址分別送入SetFilePositionVI的refnum端口和offset端口即指明了漢字字模在文件HZK16中的起始位置,接著將得到的refnum送入讀二進(jìn)制文件節(jié)點(diǎn)ReadfromBinaryFileVI的file端口,同時(shí)在count端口指明讀取的字節(jié)數(shù)量32,讀二進(jìn)制文件節(jié)點(diǎn)就會(huì)從漢字庫(kù)文件HZK16中,根據(jù)得到的字模起始位置起,連續(xù)讀取32個(gè)字節(jié)的數(shù)據(jù),這樣就得到了一個(gè)容量為32的數(shù)組,即輸入漢字的點(diǎn)陣字模.由于得到的字模是一維數(shù)組,而前面板字模的顯示方式是8×4的矩陣,利用ReshapeArrayVI,在其對(duì)應(yīng)端口指明行數(shù)和列數(shù),就可以將一維數(shù)組字模轉(zhuǎn)換為8×4的矩陣并送入前面板的十六進(jìn)制漢字字模(橫)中顯示.在前面板的模擬LED顯示中,其輸入應(yīng)為16×16LED矩陣,且矩陣的每個(gè)元素為布爾量,所以應(yīng)該將得到的一維數(shù)組字模進(jìn)行相應(yīng)的變換才能送入模擬LED顯示.利用一個(gè)For循環(huán),將一維數(shù)組的每個(gè)十六進(jìn)制元素通過(guò)NumberToBooleanArrayVI轉(zhuǎn)化為布爾量,這個(gè)布爾量與應(yīng)該得到的布爾量是前后顛倒的,所以應(yīng)將轉(zhuǎn)化的布爾量數(shù)組通過(guò)Reverse1DArrayVI再一次顛倒,并通過(guò)轉(zhuǎn)化為16×16矩陣,送入前面板顯示.為了得到豎排格式的十六進(jìn)制漢字字模,可以將得到的16×16布爾量矩陣用Transpose2DArrayVI進(jìn)行轉(zhuǎn)置,再將轉(zhuǎn)置后的布爾量通過(guò)上述方法的逆方法得到十六進(jìn)制元素,然后通過(guò)ReshapeArrayVI轉(zhuǎn)化為8×4的矩陣并送入前面板的十六進(jìn)制漢字字模(豎)中顯示.在程序中還加入了一個(gè)Case結(jié)構(gòu)用來(lái)判斷是否輸入了正確個(gè)數(shù)的漢字,當(dāng)輸入的漢字個(gè)數(shù)不符合要求時(shí),將跳出一個(gè)對(duì)話框提醒用戶(hù)并終止程序.4abwell輸出漢字字模和led顯示基于對(duì)漢字字符存儲(chǔ)結(jié)構(gòu)及編碼特點(diǎn)的分析,用LabVIE

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論