- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
手写汉字的编码压缩技术.
手写汉字的编码压缩技术
1 前言
人们常用名人字体制做牌匾、标志等以提高企事业单位的知名度, 因此手写字体的制作 也就成为装潢工程的一个热点. 作者从事的微机控制切字机的研究, 旨在把各种名人手迹存 储到计算机中, 由计算机自动生成步进电机的驱动程序, 驱动切字机, 自动完成装潢汉字的 加工. 这里首先要解决的是手写汉字的存储问题.
把手写汉字输入计算机, 无论是用数字摄像机还是用数字扫描仪, 得到的多为浓淡图 像, 要存 储它需要很大的存储空 间, 即使一 幅 1 024 * 10 24 的 二值汉字图像, 其长度就有12 8k 字节之多. 要把多如浩海的手写汉字存储起来, 编码压缩技术, 则成了问题的关键. 另 外, 由于手写汉字本身或输入设备的分辨率等问题, 输入计算机的汉字图像往往会存在一些 缺陷, 在存储之前, 还要解决汉字轮廓的平滑修复问题.
手写汉字存储系统, 包括点阵图像预处理、数据库和数据库管理三部分. 本文仅就手写 汉字数据库中采用的 8 近邻编码压缩和手写汉字的平滑修复技术加以论述.
2 汉字轮廓的编码与压缩
经点阵图像预处理得到二值黑白图像〔1〕后要对手写汉字进行编码和压缩.
手写汉字的形状是由其轮廓决定的. 本文采用 8 近邻搜索法〔2〕 逐一跟踪手写汉字轮廓 之每一像素, 生成链码, 再对链码进行压缩. 所谓 8 近邻是指图像上任一像素的与之邻接的
8 个像素之集合( 图 1a) , 即:
{ f i- 1, j -1, f i-1, j , f i-1, j +1 , f i, j-1 , f i, j+1 , f i+1, j-1, f i+ 1, j , f i+1 , j+1} ( 1 )
f i- 1, j - 1 f i- 1, j f i - 1 , j + 1 f i, j - 1 f i, j f i , j + 1 f i+ 1, j - 1 f i+ 1, j f i + 1 , j + 1
图 1a 8 近邻
f i- 1 , j f i , j - 1 f i , j f i, j + 1 f i+ 1 , j
图 1b 4 近邻
图 1c 8 近邻的方向指数
这时, 相邻的二像素互为 8 近邻, 称它们之间是 8 邻接.由 f ij 至其 8 个近邻的方向称为方向指数, 其值为 0 ~7 ( 图1c) . 与之对应的主要还有 4 近邻( 图 1b) .如图 2 所示, 图像中对于同灰度值的两个像素点 a, b,从 a 到 b, 若存在着路径p 0( = a) , p 1, p 2 , ?, p n( = b)
其中, p 1 ~p n 全都和 a, b 具有相同的灰 度值, 且 p i 和p i- 1 是 8 邻接( 或 4 邻接) 时, 则称像素点 a, b 为 8 连通( 或 4连通) . 对于图像上同值像素点的集合, 可以按 8 连通, 也可以按 4 连通分成若干个连通域. 图 2中灰度为 1 的成分, 若按 8 连通区分, 是一个连通域, 若按 4 连通区分, 则可分为 a, b, c, d 四个连通域. 也就是说, 按 8 近邻去搜索连通域的边界, 可以减少轮廓线的数目.
图 2 8 连通域和 4 连通域 图 3 8 近邻内外轮廓的跟踪
轮廓跟踪的方法可用图 3 加以说明. 从图像区域左上角开始, 逐行从左至右查找初始跟 踪点. 它满足条件: 从前未被搜索过; 该像素点的灰度值为 1; 其 4 近邻中至少有一个 灰度值为 0. 图 3 中 X 为外轮廓初始跟踪点. 记录初始跟踪点的行和列值, 并加上搜索过的 标记( 程序中将其灰度值加 1 ) . 然后, 按图 4a 所示, 从 1 开始, 按逆时针方向搜索, 首先遇到 的灰度值为 1 的近邻即为下一轮廓点 X 1 . 用 X 指向 X 1 的方向指数作为编码, 记录之, 并将X 1 加上搜索过的标记.
图 4a 初始搜索 图 4b 反时针搜索
再如图 4b 所 示, 从 1 开始( X 1 指向 X 的方向指数加 1 的方向) 按逆时针搜索, 首 先遇到的灰度值为 1 的近邻即为下一轮廓 点 X 2 . 同样记录 X 1 指向 X 2 的方向指数并 对 X 2 加上搜索过的标记. 如此反复, 直至返 回到初始跟踪点, 一条轮廓线就跟踪完毕.再从前一初始 跟踪点 X 开始, 逐行从
左到右查找新的初始跟踪点 Y ( 图 2) , 记录其行和列坐标. 再用相同的方法跟踪后面各轮廓 点并依此记录各方向指数.
文档评论(0)