条形码产生和识别程序.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
条形码产生和识别程序

A 条形码产生和识别程序 作者的话 在信息化社会中人们将传统货物管理方法也进行了数字化的管理,这其中的一个很重要的媒介就是条形码。在各大商场、超市中我们随处可见条形码,但是我们在使用他们的时候是否曾认真地去考虑过其中的原理。 我在这里设计的条形码产生和识别的程序,一方面是为了使自己弄清条形码的产生和识别的原理;另一方面也是为了通过程序的建造来实现一种产生和识别条形码的软件。 本程序将芯片中的硬件版条形码程序表示成纯软件的生成和识别程序,最初的创作想法是由于我对条形码的好奇心,广泛的收集材料,深入的分析和发展了硬件版条形码程序。征逢本次竞赛,将这个小程序发表出来,请各位老师,专家多多指教。 设计工具 本程序使用了Microsoft? Visual Studio? 6.0 作为程序的编译工具,并且分别建立的各自的工程,分别为generator.dsw和recognizor.dsw。编译完成的可执行文件分别为generator.exe和recognizor.exe。 工作原理 不同的商品、物品通过给定一个唯一的编码即可通过这个编码与物品的一一映射来识别和记载商品或物品,这是一个很简单的道理。只要拥有足够的位数既可以记载一定数量范围内的物品,例如,一个标示码的位数为n位,每一位用一个十进制的数字表示,则它最多可以表示个数码。 编码要求 条形码的国际标准要求编码由13位十进制数字构成(从左至右分别为第0位……第12位)。 并且第12位和前12位要满足如下的关系: 满足这样的关系的数码既可以作为条形码的编码。 2.条形码规范 一个条形码图案是由113条数线组成,其中包括黑色和白色两种反差很大的线条。如图一所示: 图一 条形码实例 整个图案包括起始部分、第一数据部分、中间部分、第二数据部分和结束部分等五个部分。 起始部分:包括12条线。是按照固定的规律排列的,从左至右分别是8条白线,一条黑线,一条白线和一条黑线,如图二: 图二 条形码起始部分 第一数据部分:包括42条线。如图三。他的形成是按照一定的算法形成的,其中包含了这些数字包含的信息。具体的形成算法见后面的文章。 图三 条形码第一数据部分 中间部分:包括5条线,如图四。符合固定的规律,从左到右依次是白线,黑线,白线,黑线,白线。 图四 条形码中间部分 第二数据部分:包括42条线。如图五。他的形成是按照一定的算法形成的,其中包含了这些数字包含的信息。具体的形成算法见后面的文章。 图五 条形码第二数据部分 结尾部分:包括12条线。是按照固定的规律排列的,从左至右分别是一条黑线,一条白线和一条黑线,8条白线。如图六: 图六 条形码的结束部分 设计思想: 条形码的生成 条形码的第一数据部分是由7个数字形成的,其形成的方法详述如下: 首先使用产生和匹配的字母码,该字母码有6个字母组成,字母限于A和B。产生字母码的列表如下 字母码 0 AAAAAA 1 AABABB 2 AABBAB 3 AABBBA 4 ABAABB 5 ABBAAB 6 ABBBAA 7 ABABAB 8 ABABBA 9 ABBABA 表一 映射表 将和产生的字母码按位进行搭配,来产生一个数字-字母匹配对。并通过查表来得到形成的条形码第一数据部分。 将和C进行搭配,并通过查表得到形成的条形码的第二数据部分。 该映射表如表二所示: 数字-字母匹配对 二进制信息 0A 0001101 0B 0100111 0C 1110010 1A 0011001 1B 0110011 1C 1100110 2A 0010011 2B 0011011 2C 1101100 3A 0111101 3B 0100001 3C 1000010 4A 0100011 4B 0011101 4C 1011100 5A 0110001 5B 0111001 5C 1001110 6A 0101111 6B 0000101 6C 1010000 7A 0111011 7B 0010001 7C 1000100 8A 0110111 8B 0001001 8C 1001000 9A 0001011 9B 0010111 9C 1110100 表二 数字-字母映射表 绘制条形码:通过映射表二得到的二进制数码进行绘制,1对应黑线,0对应白线。 条形码的识别: 首先,通过条形码的起始部分的一条黑线、一条白线、一条黑线的规律组合识别出,第一数据部分的起始位置position_start_1。Position_start_1也就是条形码的第13条线。 从position_start_1开始识别第一数据部分代表的二进制元信息(meta information),即通

文档评论(0)

laolao123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档