ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:175.74KB ,
资源ID:11241455      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11241455.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(汉字字模提取论文.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

汉字字模提取论文.docx

1、汉字字模提取论文汉字字模提取的研究与实现罗飞夺摘 要 在显示技术日新月异的今天,越来越多的场合需要利用到在无操作系统的小应用系统中显示汉字。如火车站的车次信息显示、赛场上的比分赛况显示等。汉字显示是在只有西文操作系统的情况下,以及一些无操作系统的小应用系统中,需要经常用到的技术。如何得到汉字的字模,是汉字显示技术中首先必须解决的问题。在许多工程控制和字符串处理的环境中,汉字字符的处理仍然有别于西文字符的处理,需要加以专门的考虑。针对这一现状,笔者设计开发了“汉字字模提取软件”。本软件的开发,使用的工具是Microsoft Visual Basic。本软件的主要功能,是实现汉字字模的提取,亦可通

2、过该软件,改变所需的字体,保存需要的字模。本文主要介绍了点阵汉字提取的原理与方法。 关键词 : 汉字 字模 提取 Abstract Today, the manifestation technique is altering from day to day; more and more occasion must manifest the characters in the small applied systems that have no operate system. For example, the train stations show the information of the

3、train, and the Surpass fields show the information of the game information. The Chinese characters manifestation is under the condition of only having the operate system of English, and in some small applied systems that have no operate system, the techniques that need to be use usually, how to get

4、the type matrix of the Chinese characters is the initial thing in the Chinese characters manifestation technique of problem. In the environment of many engineering controls and the string processing, the processing of the Chinese characters still has difference between the processing of the characte

5、r of English characters. It needs to be taken into the specialized consideration. To face the current situation, the writer designed and developed the software of getting the type matrix of the Chinese character.To develop the software, the writer used the Microsoft Visual Basic.The main function of

6、 the software, is to get the type matrix of the Chinese characters. And we can also change the font or save the type matrix if you need.This paper mainly introduces the principle and approach of extracting dot character.Key Words Chinese character;dot character model;extract.第一章 引 言1.1 编写目的随着科学技术的不断

7、发展,不断提高,计算机科学日渐成熟,它已经进入人类社会的各个领域并发挥着越来越重要的作用。在这个日新月异的信息时代,信息技术的发展更是迅猛,传统的黑板、报纸等媒介,已经不能满足大量实时信息的管理和即时发布。因此,使用汉字字模提取软件,对各类信息的发布和管理,具有手工发布管理无法比拟的优点:方便、迅速、实时、准确、可靠、价廉。1.2 背景车站、机场、商场、厂矿企业及其他一些公共场所,经常需要发布多变的实时的信息或进行广告宣传,传统的黑板和纸张等为媒介的手段不能满足其多变性和实时性。LED电子显示屏以其修改方便、实时显示、美观整洁等特点应运而生。而随着单片机和嵌入式技术的快速发展和应用,越来越多的

8、仪器设备、智能装置具有一个液晶显示模块用于显示操作菜单、数据和工作状态等。在显示技术日益发展的今天,汉字点阵文件显示技术已经成熟, 在工业生产和日常生活中,LED点阵屏和LCD点阵式液晶显示屏的应用越来越广泛,如设备的操作显示屏、火车站的旅客向导显示屏、手机的显示屏以及大型广告显示屏等等。然而无论是LED点阵屏还是LCD点阵式液晶显示屏,要在没有操作系统的单片机系统上显示汉字,都需要获得待显示汉字的点阵字模,只有预先提取每个要显示的汉字的字模以点阵方式来显示,再由单片机控制系统进行处理。获取字模的最原始的方法是手工方法,这种方法不仅工作量大、效率低,而且容易出错;而在单片机控制的标语指示、车站

9、机场车次航线显示、银行汇率显示等系统中,使用昂贵的通用汉字字库芯片并不经济。因此,可以利用计算机的汉字库文件,直接调用汉字库文件,然后提取字符字模。这样,不仅提高了工作效率,减少了工作量,还节约了硬件开支。所以,在显示技术日新月异的今天,研究汉字字模提取的方法与技术,具有一定的现实意义和时代意义。第二章 汉字字模提取简介2.1 汉字字库的介绍汉字字库,根据存储的汉字的信息的不同,可以分为点阵字库、矢量字库、曲线轮廓字库等。又根据汉字字体的不同,每一种字库又可分为宋体、楷书、隶书、黑体等等。在点阵字库中,存放着汉字的点阵字模信息。它根据点阵的字模大小,可以分为16 * 16点阵字库,24 * 2

10、4点阵字库等。当汉字的点阵数目增加时,其显示的质量就越高,相对的,它所占用的空间也就越大。在同一点阵字库中,各汉字字模信息所占的存储空间相同,所以,查询和提取非常方便。在矢量字库和曲线轮廓字库中,则存放各汉字的索引表及其比划或字型等信息。不管是点阵汉字、矢量汉字、曲线轮廓汉字,要显示这些汉字,最终,都必须要提取它们的点阵字模信息。2.2 字模提取的介绍一个汉字,可以看成是由许多点阵排列出来的,汉字笔画划过的地方为“1”,其余的地方为“0”(如图2.1所示),然后把这些点阵信息按一定顺序排列,就是这个汉字的字模了。要显示一个汉字,就必须要知道这个字模的点阵字模信息。图 2.1我国国标(GB231

11、2-80)规定,汉字用内码表示,内码为两个字节。并且,两个字节的最高位均为1。同时,国标对汉字库也做了统一的规定,将汉字库分为若干个区,每个区均有94个汉字,每个汉字均有一个唯一的确定的区码和位码。当我们知道了一个汉字的区位码,也就相当于知道了该汉字在字库中的位置。由于汉字的机内码和区位码有一定的关系,通过汉字的机内码就可以得到汉字的区位码,从而,也就可以提取出该汉字的字模。第三章 字模提取总体设计3.1 设计的目标本次设计利用Microsoft Visual Basic平台。利用其界面设计的简易性,以达到本次毕业设计所需的目标:1、通过输入汉字,能够提取所需的汉字的字模;2、能够自动显示点阵

12、情况下的汉字;3、可以改变所需的汉字的字体,包括字型、字号等;4、可以保存汉字转换的结果。3.2 汉字字模提取的基本原理如同画点画线一样,汉字是经过电脑画出来的。这样,就必须为每一个字准备一个数组,这就是“字模”。这些字模分为点阵和矢量两种。我们常用的是点阵字模,一般有16 * 16和24 * 24两种,分别称为16点阵字和24点阵字。它们的原理是依据点阵中的0和1来把汉字画出来(即0表示不画点,1表示画点)。本文主要介绍点阵字模的获取。 当然,我们不能为所用到的每一个汉字去自己编写它们的字模。我们只是设法将大汉字库中所需要的汉字字模取出来,建立我们自己的字库。这样的字库可以使得汉字的显示更快

13、,且只需要很小的存储空间。UC-DOS为我们提供了大多数汉字的16点阵和24点阵的字库。本文以16点阵的汉字显示为例,因此,取用UC-DOS中的字库文件HZK16oHZK16的内容是按照字节存放的,即把16 * 16个“位”变成32个“字节”来存放。另外,汉字点阵字模代码是按照区位码的顺序在汉字库中存放的;而系统内部处理和存储汉字使用的是机内码。因此,必须了解区位码和机内码的关系。国内的汉字系统一般都是采用国标码最高位置1作为汉字的机内码。国标码由2个字节组成,其中高字节表征区,低字节表征位。国标码和区位码都有94个区,每个区又都有94个位。国标码和区位码的关系是:国标码高字节=区码十20H国

14、标码低字节=位码十20H 因此,汉字的机内码与国标码和区位码的关系是:机内码高字节=国标码高字节+80H=区码十AOH机内码低字节=国标码低字节+80H=区码十AOH综上所述,通过汉字的机内码就可以获得汉字的区位码,从而知道汉字在字库中存放的位置。现在,给出读取汉字字模的基本步骤: 获取汉字的机内码; 通过汉字的机内码推算出区位码; 由区位码计算出汉字在字库中的位置offset: offset=(区码一1)* 94+(位码一l) * 32从该偏移地址读取32个字节,就是相关汉字的点阵字模代码。 (引用:王保华著利用VC+实现汉字字模提取与小汉字库的生成)3.3 软件的开发环境3.3.1 Win

15、dows下的Visual Basic 编程环境BASIC语言自诞生以来,在广泛的应用中不断地发展。至今为止,BASIC语言已经经历了四个发展阶段:第一代:早期的BASIC(20世纪60年代中期到70年代中期);第二代:微机出现初期的BASIC(20世纪70年代中期到80年代中期),其代表为GW-BASIC和Microsoft的BASIC;第三代:结构化的BASIC语言,其代表为True BASIC,Quick BASIC,Turbo BASIC,QBASIC;第四代:Visual BASIC。前三代的BASIC语言,尽管功能不断丰富,但都是在DOS操作环境下使用的,它提供给用户的是字符界面,看

16、起来单调枯燥。例如,向计算机输入两个数a 和b,要求计算机输出a + b的值 c,用传统的BASIC语言编写的程序如下:10 INPUT “enter a :”,a20 INPUT “enter b :”,b30 c = a + b40 PRINT “c = ”,c50 END运行时,在输入a和b的值后,按回车键,屏幕上会有提示的方式来显示计算的结果。对于每一个使用过Windows的人来说,显然会对这种人机对话的方式感到相当不适应。Windows提供的是图形界面,使用户能够在生动活泼的环境下愉快地进行学习和工作。在Windows环境下,用户只需要移动鼠标,单击一些按钮,或者选择菜单中的某些命令

17、就可以实现某些操作(而不用像在DOS环境中那样,必须给出一系列复杂的命令)。那么,怎么样才能开发出这种适用于Windows环境的应用程序呢?Microsoft于1991年推出了Visual Basic 1.0版本,因其简单易学,在短时间内,一大批的程序员很快就能掌握了Visual Basic,并用它来编写出各种各样的Windows应用程序,使BASIC的编程走出了“Hello world”时代。在Windows环境下,用户只需要移动鼠标,单击一些按钮,或者选择菜单中的某些命令来实现某些操作,在程序运行过程中,还会出现“对话框”,引导用户进行某些选择或操作。熟悉Windows的用户对次深有感触。

18、Microsoft Visual Basic 6.0 是Windows应用程序开发工具,是目前普遍广泛的、易学易用的面向对象的编程工具。Visual Basic提供了大量的ACTIVE控件,这些控件可用于设计界面,并实现各种功能,大大减少了编程人员的工作量,也简化了界面设计过程,从而有效地提供了应用程序的运行效率和可靠性。故而,开发设计本软件,VB是一个相对比较好的选择。3.3.2 面向对象的编程在面向对象的程序设计中,“对象”是系统中的基本运行实体,它封装了数据和操作。对象的性质和状态特征称为“属性”,同类型的对象具有相同的属性。当要特制某一具体的对象时,这些属性就有了具体的值。不同对象的不

19、同属性值描述了对象的特征。这些值就是对象的数据。同类对象的抽象称为“类”。对象不会无缘无故地执行某个操作,只有在接受别的对象请求时,才会进行某一操作。这种请求对象执行某一操作或回答某些信息的要求称为“消息”或“事件”。对象接到消息所执行的程序称为事件驱动程序。VB的事件驱动程序都表示为“过程”。事件驱动过程可以包括对象的调用和各种VB语言的语句。VB的工具箱为程序员提供了一套界面设计常用的对象模子类,它们的属性没有具体值。当我们把工具箱的某个工具“拖动”或双击到窗体上时,系统以这个模子的形式赋予它各种初始值,构造了一个实在对象。这些属性值可以由用户修改。VB不仅为用户提供了一套标准控件工具,还

20、允许程序员添加新的控件工具以及用VB程序设计语言设计对象。3.3.3 VB在汉字字模提取软件中的应用3.3.3.1 创建应用程序的主要步骤1、创建应用程序的界面界面是用户和程序交互的桥梁,用VB创建的标准的Windows应用程序的界面一般由窗体和按钮、菜单、文本框和图像框等构成。根据程序的功能要求和用户与程序之间的信息交流的需要,来确定需要哪些对象,规划界面的布局。2、设置界面上各个对象的属性根据规划的界面要求设置各个对象的属性,比如对象的面貌、名称、颜色、大小等。大多数属性取值既可以在设计时通过窗口设定,也可以在程序代码中通过编程在程序运行时设置修改。3、编写程序响应的程序代码界面仅仅决定了

21、程序的外观,设计完界面后,就要通过“代码编辑器”窗口来添加代码,实现一些在接受外界信息后得到的响应、信息处理等任务。4、保存工程一个VB程序就是一个工程,在设计一个应用程序时,系统会建立一个扩展名为.vbp的工程文件,工程文件包含了该工程所建立的所有文件的相关信息,保存工程就同时保存了该工程的所有相关文件。比如,当设计界面时产生的窗体保存在扩展名为.frm和.frx的窗体文件中。在打开一个工程时,在工程中的所有相关文件同时被装载。5、运行和调试程序通过“运行”菜单中的选项来运行程序,当程序出现错误时,VB系统可提供信息提示,也可以通过“调试”和“运行”菜单来查找和排除错误。6、生成可执行程序为

22、了使程序可以脱离VB环境来运行,通过“文件”菜单中的“生成工程1.exe”命令来生成可执行文件(.exe文件),此后即可直接执行该文件。3.3.3.2 创建用户界面 1、对象VB的对象有自己的属性、方法、事件,可以把属性看做是一个对象的性质,把方法看做对象的动作,把时间看做是对象的响应。VB是一种面向对象的编程语言,通过对属性、方法和事件的编程来实现各种功能。2、对象的属性属性是对象的数据,原来表示对象的状态。属性有属性值,改变对象的属性值就可以改变对象的状态。属性的设置可以在“属性”窗口中完成,也可以在运行时由代码实现。在运行时可设置的属性成为读写属性,只能读取的属性叫做只读属性。语法: 对

23、象名.属性名 = 表达式(如果省略对象名则对象为当前的窗体)例如: Picture1.visible = true 3、对象的方法对象的方法决定了对象要执行的动作,方法中的代码是看不见的,可通过调用来使用某个对象的方法。语法: 对象名.方法名(参数1,参数2,参数3,.)例如: Form1.show Picture1.cls4、对象的事件事件是对象的响应,VB的应用程序是由事件驱动的。也就是说,只有当事件发生时,下雨事件的程序才会运行。如果没有事件的发生,则整个程序就处于停滞的状态。在VB中,事件是能被对象识别的动作。VB编程的核心就是为每个要处理的事件编写相应事件的过程代码,以便使用户或系统

24、在触发相应事件时执行指定的操作。5、创建窗体(1)窗体的属性窗体的属性有很多,按分类可以分为:杂项属性,外观属性,位置属性,行为属性,字体属性,DDE属性,缩放属性。(2)窗体的方法窗体有很多方法,通过在代码中调用来执行。窗体最常用的方法是show方法,用于显示窗体。常见的方法还有:Hide(隐藏)、Refresh(刷新)、Move(移动)、Print(显示文本)。(3)窗体的事件窗体作为对象能够对事件做出响应。具体可包括:Activate和deactivate事件;Initialize事件;Load和Unload事件;Click和Dblclick事件;Resize事件。(4)界面样式SDI界

25、面 单文档界面MDI界面 多文档界面6、控件(1)控件的分类VB控件可分为内部控件、ActiveX控件和可插入对象三类。内部控件内部控件是由VB本身提供的控件,也称常用控件,这些控件通常显示在控件箱中。ActiveX控件ActiveX控件是VB控件箱中的扩充部分,这些控件在使用前必须添加到工具箱中。可插入对象可插入对象是由其他应用程序创建的对象,利用可插入对象,就可以在VB程序中使用其他应用程序的对象。如图3.1所示图3.1第四章 汉字字模提取的实现4.1 从汉字库中提取出汉字4.1.1 汉字的区位码1981年,我国颁布了信息交换用汉字编码字符集基本集(GB231280),该保准选出了6763

26、个常用汉字和682个非常用汉字字符,以汉字库的形式提供,并为每个字符规定了标准码,以供这7445个字符在不同计算机系统之间进行信息交换使用。这个标准所收集的字符及其编码称为国标码,又称国际交换码。GB2312国标字符集有三个部分组成:第一部分,是字母、数字和各种符号,包括了拉丁字母、俄文、日文平假名和片假名、希腊文以及汉语拼音等682个;第二部分,是一级常用汉字,按汉语拼音排列,共3755个;第三部分,是二级常用汉字,因为不太常用,所以按偏旁部首排列,共3008个。GB2312国标字符集,构成了一个三维平面,分成了94行,94列,行号又称为区号,列号又称为位号。即,汉字库统一规定组成94*94

27、的矩阵,共分为94个区,编号0194;每个区有94个位,编号0194。这样,每个汉字或字符在码表中都有与之相对应的位置,因此各有一个唯一的编码,该编码就是汉字或字符所在的区号(行号)和位号(列号)的二进制代码。这就是汉字的区位码,用两个字节表示,区位码的第一个字节表示区号,第二个字节表示位号。4.1.2 汉字的内码汉字内码是微机内部使用的代码、系统处理的对象。在计算机内,英文字符是用一个字节的ASC码表示的。但由于汉字众多,对一个汉字的表示,需要用到两个字节。并且,为了与系统中的ASC码相区别,将这两个字节的最高位置1,并称之为机器内的汉字代码,即机内码,简称内码。4.1.3 汉字的区位码与内

28、码之间的关系汉字的区位码和内码之间的变换关系如下:内码高位字节 = 区码 + 160;内码地位字节 = 位码 + 160。汉字字符的比较是以其机内码是否相等进行判断的,亦可把每个汉字的机内码转换成字符型再进行比较,即把所要转换的汉字与汉字库内所有汉字进行比较,若两个汉字字符相等,就可以等到其汉字的区位码。这样,清楚了汉字的区位码,也就得到了汉字的位置码。位置码 = (区号 - 1)* 94 + 位号 14.1.4 汉字字模提取实现的技术原理汉字的位置码,并不是这个汉字的字模。字模,是汉字在汉字库中的存储形式。例如,对于一个16 * 16 的点阵汉字字库,要描述一个汉字的形体需要16行(即16区

29、),每行有16列(即16位),存储需要2个字节,那么描述这个汉字则需要32个字节。对于最常用的16 * 16 点阵和24 * 24 点阵的汉字字模的提取,在这里稍微做一下介绍,其它点阵的字模提取方法与之类似。对于16 * 16 点阵的汉字字库,每个字模信息占32个字节,根据2.1.3节的介绍,一个汉字字模在16 * 16点阵字库中的起始位置:起始位置 = 32 * ( 内码高字节 161 ) * 94 + ( 内码低字节 161 ) 同样,对于24 * 24点阵的汉字字库,每个字模信息占72个字节,则一个汉字字模在24 * 24点阵字库中的起始位置:起始位置 = 72 * ( 内码高字节 161 ) * 94 + ( 内码低字节 161 ) 但是,对于不同的24 * 24点阵的汉字字库,各种非汉字符号的存放方式不一样。有的省去了前15个区,并将这15个区单独存放;有的则没有省去。如果省去了前15个区,则将上述公式修改如下:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1