毕业设计单片机系统的二次插值算法的实现.doc

上传人:仙人指路1688 文档编号:4200417 上传时间:2023-04-09 格式:DOC 页数:15 大小:157KB
返回 下载 相关 举报
毕业设计单片机系统的二次插值算法的实现.doc_第1页
第1页 / 共15页
毕业设计单片机系统的二次插值算法的实现.doc_第2页
第2页 / 共15页
毕业设计单片机系统的二次插值算法的实现.doc_第3页
第3页 / 共15页
毕业设计单片机系统的二次插值算法的实现.doc_第4页
第4页 / 共15页
毕业设计单片机系统的二次插值算法的实现.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《毕业设计单片机系统的二次插值算法的实现.doc》由会员分享,可在线阅读,更多相关《毕业设计单片机系统的二次插值算法的实现.doc(15页珍藏版)》请在三一办公上搜索。

1、单片机系统的二次插值算法的实现总计 毕业设计(论文) 11 页 表 格 1 个插 图 3 幅姓 名:肖燏 学 号:2009010044 专业班级:电气自动化技术班摘 要汉字字库和西文字库都是非矢量字库,不支持放大,放大后会产生字失真,二次插值算法的使用实现了点阵字的无失真平滑放大和加粗。利用二次插值算法可实现点阵字处理。该算法的创新之处:第一,用低精度的标准字库实现了文字的高精度无失真平滑放大,大大节省了存储字库的空间,并增加文字的清晰度。第二,在低精度标准字库中实现了加粗功能。本文介绍了二次插值算法的基本思想、在点阵字中的应用,仿真结果表明,该算法能较好地实现点阵字的放大和加粗。关键词: 点

2、阵 二次插值 文字放大 文字加粗 斜体字 目 录摘 要I第一章 绪论1 1.1 课题背景1 1.2 单片机介绍2 1.3 字处理概况2 1.4 全文结构4第二章 字库介绍5 2.1 汉字库的介绍5 2.1.1 HZK16库5 2.1.2 区位码的求取6 2.1.3 字库绝对偏移位置的求取6 2.2 ASC16库6第三章 二次插值算法7 3.1 汉字放大功能实现7 3.2 加粗功能实现7 3.3斜体功能实现8第四章 仿真与结果分析9第五章 小 结10参考文献11第一章 绪论1.1 课题背景随着汉字全面向信息化社会转型,计算机在各个领域广泛应用,国际间交流与合作的扩大,信息处理应用对语言文字标准和

3、计算机汉字字库提出了多文种、大字量、多用途的要求。国际标准化组织(ISO)于1984年开始着手研制信息技术通用多八位编码字符集国际标准。原国家技术监督局和电子部也会同有关专家学者,经过多年的艰苦努力,编制完成了统一的中日韩汉字。1992年6月,ISO组织以压倒多数表决通过了ISO-10646标准,收字20902个,其中包括两岸所有的简化字和繁体字。1993年,ISO发布了一个编码标准(简称UCS)。此后,国家技术监督局于1993年12月24日发布了GB13000.1-93国家标准。 新标准的诞生,是电脑中文取得突破性进展的里程碑。它不仅对我国计算机的发展产生深远影响,也对汉字文化圈各国、各地区

4、的文化交流和科技进步起到重大的作用,有益于祖国的统一。随着计算机使用的日益普及,如果使用国际汉字库,我们的社会中必将出现五花八门的文字,简繁体并存,错别字连篇,将严重污染侵害我们的语言环境。为了配合IS010646的实施,全国信息技术标准化技术委员会又于1995年12月1日制订了汉字内码扩展规范(GBK)。GBK的优点是与现行的GB2312内码体系兼容,容易为用户所接受,因此是GB2312-80的理想换代标准。 目前我国自动照排系统采用的汉字字形处理技术,大部分是高点阵汉字 (如 128 128、256256)为母体进行字形的欠量处理,基于低点阵 (64x64点阵以下)汉字为母体的字形缩放处理

5、,在国内一些中文信息处理系统中已经起步,但是还存在一些问题如生成的字形都 同程度存在着字形缩小后部分汉字笔画断笔、粘连及不准确现象;放大后字形程度不同地存在阶梯效应或积界识差。由于低点阵汉字提供的字形处理信息要比高点阵的少的多,要缩小放大出高质量的汉字字形,技术难度很大。因此,研制以低点阵汉字为母体的高质量的汉字字形缩放技术,保证缩小放大后的汉字字形间架结构不变,保持各种汉字字体的原有风格,能输出和铅字相媲美的各种字体的汉字字形,是我们努力解决的技术课题。1.2 单片机介绍单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM

6、、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛应用。从上世纪80年代,由当时的4位、8为单片机,发展到现在的32位300M的高速单片机。将CPU、并行I/O接口、定时/计数器、RAM、ROM等功能部件集成在一块芯片上的计算机。随着SCM在技术上、体系结构上不断扩展,所集成的部件越来越多,能完成的控制功能越来越丰富。1.3 字处理概况目前书刊报纸常用汉字字号是从七号到特大号,而一般公文、报表等使用七号字到初号字足矣。我们应该在所需要的字号范围内,根据

7、输出设备的分辨率,从铅字号计算出所需的汉字点阵阶数。对于同一种铅字号来说,不同的设备分辨率对应着不同的汉字点阵阶数。下面是铅字号、设备分辨率和汉字点阵阶数之间的关系式:字形点阵阶数:字号的字面尺寸 (mm)输出设备精度 (dpi)25.4167。汉字字形的缩小放大处理技术,实质上是一种图形处理技术。汉字字形的缩放可以看作是一种特殊图形投影变换。目前实现这种字形图形变换的方法主要有:直接放大法、齐次坐标法、逻辑方程插入法、矢量轮廓变倍法。直接放大法实现起来简单,但放大较大时,字形锯齿现象十分严重。齐次坐标法给多种字形变换处理提供了一种简捷的数学工具,并能生成几种美术字,变换字形的效果较好。逻辑方

8、程插入法是基于字形点阵 (bitmap)进行字形加工处理的方法,生成字形的速度快、效果好,国外曾采用这种方法处理字形。矢量轮廓变倍法生成的字形笔划光滑、无畸变 、字形失真小,也是一种较好的方法,但是与前几种方法相比,速度要慢。基于字形点阵图 (bitmap)处理的合成方法是由二种算法原理组成。一种是黑白段逻辑方程插入法;一种是字形直线叠代法 (即Bresenhen法)。黑白段逻辑方程插入法采用以白线段或黑线段为基本处理单位,能保证不漏比划和保存线段之间的空白部分,从而使字形的间架结构不变,这种方法的不足之处是在缩小变换中,容易在横划和竖划的结合点产生露点现象,因此要在程序中加入断点平滑处理才能

9、使变换后的字形更加平滑。直线叠代算法是图形学中较为流行的一种直线算法,是将直线方程转换成一个叠代方程。我们将该方法引入字形处理,其原理如下:在字形的点阵图 (bitmap)中,我们可将字形的某一行、某一列的有效信息看作是不同长度的直线段,对每一个直线段的加工都采用Brescnhen算法来处理。用Bresenhcn箅法先对字形的行方向进行逐行扫描加上处理 然后再对行方向加工后的字形进行列方向的逐列扫描加工处理,这种多次的直线叠代循环就构成了字形的Brcsenhen算法。这种方法的优点是生成的字形不失真,能有效地保存字形的笔划,字形放大的效果较理想。基于字形矢量处理的链码 (Freeman)变倍法

10、。在对较高点阵汉字的缩小放大处理中 (比如6464点阵汉字)借鉴较好的矢量处理方法采用链码变倍法,其工作流程如图1.1。首先对字形的轮廓进行跟踪,找出字形笔划的边缘,用链码序列描述矢量轮廓。然后再用一连串的折线逼近矢量字形轮廓,并保证直线拟合效果和原轮廓相符,这样就生成一种矢量压缩字形。最后根据字形缩放系数,对欠量压缩字形进行变换和产生字形轮廓开关点,按生成的开关点进行字形的奇偶性填充,最终生成所需要字形,这就是链码变倍法的工作过程。图 1.1 链码变倍法工作流程 1.4 全文结构本文采用的二次插值算法是综合考虑的结果,二次插值算法复杂度不高且放大效果较好。因为整个实现方案是针对HZK16和A

11、SC16库进行字处理的,所以有必要对字库进行介绍。本文对HZK16库的区码、位码和字库中汉字的绝对偏移位置的求取进行了重点的介绍。同时也对常用的汉字库进行了简要的介绍。要实现点阵汉字的放大加粗斜体等效果,核心问题是算法,现在常用的算法有很多,比如:直接放大法,逻辑方程插入法,链码变倍法等,这里采用的是二次插值算法。二次插值算法包括两次插值,第一次0/1插值是对字的线性放大,放大后的字形会有较严重的锯齿形,所以要进行第二次0/1插值,这次插值是对无失真放大后的汉字进行平滑处理,使得放大后的字看起来干净简洁。加粗和斜体功能的实现也是根据规定来进行插值。经过插值处理的字要进行仿真验证,对其进行分析,

12、分析的结果中可以看到第一次线性插值放大后的字体有较严重的锯齿,而经过平滑处理后字体有很好的平滑度和清晰度,满足我们的需要。 第二章 字库介绍2.1 汉字库的介绍我们使用1616的点阵宋体字库,是每一个汉字在纵、横各16点的区域内显示的。1616点阵方式是最基础的汉字点阵,存储一、二级汉字及符号8836个,需要282.5kB的容量;而现在常使用的汉字库还有HZK24、HZK32即对应的2424、3232汉字点阵字库,3232点阵存储8836个汉字,需要1.132MB存储容量。虽然汉字库种类繁多,但都是按照区位的顺序排列的。前一个字节为该汉字的区号,后一个字节为该字的位号。每一个区记录94个汉字,

13、位号则为该字在该区中的位置。字型库存储容量大是汉字信息处理的特点。所以多数汉字信息处理系统把汉字库放在磁盘上,字模点阵码的点阵规模除1616、2424点阵外,还有3232、6464、128128点阵,甚至更高的512512点阵。点阵的规模小,分辨率差,字形不美观,有些笔划复杂的字和繁体字难以表示,但所需存储容量小,易于实现;点阵规模大,则分辨率高,字形美观,但所需存储容量大。以上这些都是常用的汉字库,这些字库都是按照同样的区位顺序来排列的,读取字的原理也是一样的,不同的是它们的使用场合是不同的,所以要根据实际情况来选用合适的字库。2.1.1 HZK16库 HZK16字库是符合GB2312标准的

14、1616点阵字库,HZK16的GB2312-80支持的汉字有6763个,符号682个。其中一级汉字有3755个,按声序排列,二级汉字有3008个,按偏旁部首排列。我们在一些应用场合根本用不到这么多汉字字模,所以在应用时就可以只提取部分字体作为己用。在文件HZK16中,按汉字区位码从小到大依次存有国标区位码表中的所有汉字,每个汉字占用32个字节。HZK16字库里的1616汉字一共需要256个点来显示,也就是说需要32个字节才能达到显示一个普通汉字的目的。一个GB2312汉字是由两个字节编码的,范围为A1A1FEFE。A1A9为符号区,B0到F7为汉字区。每一个区有94个字符。2.1.2 区位码的

15、求取前面说到一个汉字占两个字节,这两个中前一个字节为该汉字的区号,后一个字节为该字的位号。其中,位号为该字在该区中的位置。所以要找到某个指定的汉字在hzk16库中的位置就必须得到它的区码和位码。区码和位码可由公式求得:区码=区号(汉字的第一个字节)-0xa0 位码=位号(汉字的第二个字节)-0xa0 2.1.3 字库绝对偏移位置的求取得到了汉字的区码和位码之后我们就可以得到汉字在HZK16库中的绝对偏移位置,计算公式为:offset=(94(区码-1)+(位码-1)32 汉字的读取程序比较简单,先求出汉字的区码和位码,在利用公式得到汉字的绝对偏移位置,然后显示出来。需要注意的地方有,汉字占两个

16、字节所以要定义成长整形,另外一个汉字的显示点阵是1616的,所以要开辟32个字节的空间来存储点阵。2.2 ASC16库在文件ASD16中按ASCII码从小到大依次存有816的ASCII码点阵,每个ASCII码占用16个字节。在PC机的文本文件中,汉字是以机内码的形式存储的,每个汉字占用两个字节:第一个字节为区码,为了与ASCII码区别,范围从十六进制的0A1H开始(小于80H的为ASCII码字符),对应区位码中区码的第一区;第二个字节为位码,范围也是从0A1H开始,对应某区中的第一个位码。这样,将汉字机内码减去0A0AH就得该汉字的区位码。ASCII码的显示与汉字的显示基本原理相同。在文件AS

17、DII16中不存在机内码的问题,其显示点阵直接按ASCII码从小到大依次排列,只是每个ASCII码在文本文件中只占1个字节且小于80H,而且ASCII码为816点阵,所以在ASCII16文件中,每个ASCII码的点阵也只占16个字节。下面以字母“a”的ASCII代码是97,得到西文字母的代码之后就可以得到它在ASC16库中的绝对偏移位置,计算公式为:offset=ASCII代码16=610H 第三章 二次插值算法3.1 汉字放大功能实现汉字放大是指汉字形体的尺寸变换,字形尺寸的变换主要有横向放大、纵向放大和综合放大三种基本形式。插值是一种建立在综合放大基础上的图像处理方法,是横、纵向同时放大一

18、倍,即将基本字模点阵由1616放大为3232,放大后的字形是基本字形的四倍。放大过程可以先横向放大然后再纵向放大,或者相反。它是一种在不生成像素的情况下增加图像像素的方法,用数学公式计算增加的像素可以人为地增加图像的分辨率。所以在放大图像时,图像看上去会比较平滑、干净。而这种插值方式,在做了合理的优化和改进后,同样适用于点阵字的无失真平滑放大和加粗。二次插值算法包括两次0/1插值,第一次0/1插值为点阵字放大的双线性插值,目的是实现点阵字无失真清晰放大。第二次0/1插值为边缘平滑插值,目的是使文字平滑显示。点阵字的加粗是基于二次插值算法依据加粗准则插值完成。二次插值算法处理点阵字有如下优点:(

19、a)低分辨率数据经过插值后,可提高输出分辨率,满足高清晰度的视觉效果,实现低精度型点阵显示变为高精度点阵显示,从而保证点阵字放大后的不失真。(b)降低数据存储量,能够在资源受限的嵌入式系统中保证资源的有效占有率。(c)算法复杂度较低。3.2 加粗功能实现点阵字加粗功能的实现相对比较简单,如果是对放大的点阵字进行加粗,则只需在实现点阵字平滑无失真放大的基础上,将其对应二次插值点阵再进行一次0/1插值即可;如果是无放大要求,则对原始点阵进行一次0/1插值即可。从上往下,从左往右逐一选取目标点阵的每个像素点,得到对应的加粗点阵。加粗功能的实现就是在原有的基础上进行一次0/1插值的,程序中判断该点是否

20、要点亮,要根据旁边点考虑的,在逻辑运算中表现为除0|0=0,其余情况均为1。3.3斜体功能实现点阵字斜体功能的实现也比较简单,只要对原始点阵进行斜体处理就可以了。具体方法是对816点阵或1616点阵进行倾斜。第0行和第1行向右移动8个点阵的位子,第2、3行移动7个点的位子,第4、5行移动6个点的位子,以此类推第14、15行不移动。使得点阵呈倾斜的效果,点阵中需点亮的二极管在点阵中的相对位子不变。第四章 仿真与结果分析为了使二次插值原理阐述的更清楚,笔者调用字库的字模信息,并用白方格表示0插值,黑方格表示1插值,以“A”和“你”字为例,仿真实现不同放大倍数的点阵字的二次插值过程,如图4.1,4.

21、2所示。a.ASD16字库文件中西文“A”的1.5倍二次插值放大和加粗 (1) (2) (3) (4)图4.1 西文“A”的放大和加粗b.HZK16字库文件中汉字“你”的2倍二次插值放大和加粗 (1) (2) (3) (4)图4.2 汉字“你”的放大和加粗图4.1和图4.2中的各图含义:图(1)原始点阵;图(2)一次0/1插值:线性插值放大1.5或2倍后对应的插值点阵;图(3)二次0/1插值:边缘平滑处理后对应的插值点阵;图(4)加粗后的点阵。从图4.1,4.2可知,二次插值算法不仅程序易于实现,且文字显示效果令人满意。表4.1列举了各状态下的情况。表4.1 点阵字放大和加粗的性能比较原始点阵

22、线性放大平滑放大加粗点阵平滑度较好较差较好较好清晰度一般较好较好良好从表4.1中可以看出原始点阵经过线性放大后产生了较严重的锯齿,影响字体的美观,而经过平滑处理的字在平滑度和清晰度方面的效果都很理想。平滑处理使得低分辨率的汉字经放大后也有高清晰度的视觉效果。第五章 小 结我不会忘记这难忘的几周,这毕业设计给了我难忘的回忆。经过指导老师的指导和自己的学习,浸没在书海图书馆查找资料的时候,让我从对毕业设计只有模糊的概念到能对算法进行深入分析,使我对所学知识有所巩固和提高。找关于点阵字库HZK16和ASC16的资料。从中学习到如何对字库进行读取字,汉字的编码显示等问题。后面的算法分析是本文的核心。实

23、际上当前对字体的处理有许多种方法了,比如:直接放大法:齐次坐标法、逻辑方程插入法、矢量轮廓变倍法等。这里采用的是二次0/1插值算法来实现。二次插值有算法简单、能保证点阵字放大后不失真、能够在资源有限的嵌入式系统中保证资源的占有率等优点,从而得到广泛的应用。放大、加粗和斜体是字体的三种基本变化,它们都要经过两次0/1插值,其中第一次为无失真放大,第二次为平滑插值。加粗和斜体可以在放大的基础上再经过一次0/1插值来实现。脚踏实地认真严谨,实事求是的学习态度,不怕困难、坚持不懈、吃苦耐劳的精神是我在这次毕业设计中获得的最大收益。这是一次意志的磨练,是一次实际能力的提升,也会对我以后的学习和工作带来很

24、大的帮助。在此感谢指导老师和同学的细心指导和关怀,是我能顺利完成毕业论文。在他们身上我不仅学到了扎实宽广的专业知识,还学会了做人的道理。至此我要向我的导师致予最衷心的感谢和深深地敬意。参考文献1 卢永奇.信息编码与汉字处理原理.云南师范大学学报,2004,24(2):24-272 车叔兰,巩政.一种基于点阵的汉字字形轮廓化的设计方法. 内蒙古大学学报,2000,31(4):426-4283 王少卿,霍迎辉.Atmega128在开发应用中应注意的问题.微型机与应用,2004,23(2):15-174 GRIBBON K T, BAILEY D G.A novel approach to real

25、-time bilinear Interpolation C /Proc of the 2nd IEEE International Workshop on Electronic Design, Test and Applications. 2004: 126-131.5 沈克成,试谈汉字规范与中文信息处理用汉字字符集的关系. 语言文字应用.1003-5397(2008)-01-0141-04 6 范琦,单片机汉字处理系统.华东地质学院学报.1996年12月7 芦莉,朱宏,实现文字放大和加粗的二次插值算法.计算机应用研究.20108 韩燮,张杰敏,点阵汉字的放大于平滑.太原机械学院学报.1994年第15卷第2期9 游达章,黄劲,简易LED点阵汉字显示控制模块设计.湖北工业大学机械工程学院.1006-6268(2008)05-0042-0410 李梅莲,西文状态下汉字放大技术探析.许昌师专学报.2000年3月11 唐显成,雷晓全,一种模式识别汉字放大算法.中国人民解放军信息工程学院.1991年第4期12 尹悦明,亟待发展的点阵汉字设计.南京艺术学院.2008年4月

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号