条形码产生和识别程序_第1页
条形码产生和识别程序_第2页
条形码产生和识别程序_第3页
条形码产生和识别程序_第4页
条形码产生和识别程序_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、条形码产生和识别程序作者的话在信息化社会中人们将传统货物管理方法也进行了数字化的管理,这其中的一个很重要的媒介就是条形码。在各大商场、超市中我们随处可见条形码,但是我们在使用他们的时候是否曾认真地去考虑过其中的原理。我在这里设计的条形码产生和识别的程序,一方面是为了使自己弄清条形码的产生和识别的原理;另一方面也是为了通过程序的建造来实现一种产生和识别条形码的软件。本程序将芯片中的硬件版条形码程序表示成纯软件的生成和识别程序,最初的创作想法是由于我对条形码的好奇心,广泛的收集材料,深入的分析和发展了硬件版条形码程序。征逢本次竞赛,将这个小程序发表出来,请各位老师,专家多多指教。设计工具本程序使用

2、了MicrosoftVisualStudio6.0作为程序的编译工具,并且分别建立的各自的工程,分别为generator.dsw和recognizor.dsw。编译完成的可执行文件分别为generator.exe和recognizor.exe。工作原理不同的商品、物品通过给定一个唯一的编码即可通过这个编码与物品的一一映射来识别和记载商品或物品,这是一个很简单的道理。只要拥有足够的位数既可以记载一定数量范围内的物品,例如,一个标示码的位数为n位,每一位用一个十进制的数字表示,则它最多可以表示10n个数码。1编码要求条形码的国际标准要求编码由13位十进制数字构成(从左至右分别为第0位第12位)。并

3、且第12位和前12位要满足如下的关系:TOC o 1-5 h z HYPERLINK l bookmark8even_sumd+dHFd0210 HYPERLINK l bookmark10odd_sumd+dFFdd121311d12_sum3Feven_su满足这样的关系的数码既可以作为条形码的编码。2条形码规范一个条形码图案是由113条数线组成,其中包括黑色和白色两种反差很大的线条。如图一所示:图一条形码实例整个图案包括起始部分、第一数据部分、中间部分、第二数据部分和结束部分等五个部分。起始部分:包括12条线。是按照固定的规律排列的,从左至右分别是8条白线,一条黑线,一条白线和一条黑线,

4、如图二:图二条形码起始部分第一数据部分:包括42条线。如图三。他的形成是按照一定的算法形成的,其中包含了dd这些数字包含的信息。具体的形成算法见后面的文章。06图三条形码第一数据部分中间部分:包括5条线,如图四。符合固定的规律,从左到右依次是白线,黑线,白线,黑线,白线。图四条形码中间部分第二数据部分:包括42条线。如图五。他的形成是按照一定的算法形成的,其中包含了q咋这些数字包含的信息。具体的形成算法见后面的文章。图五条形码第二数据部分结尾部分:包括12条线。是按照固定的规律排列的,从左至右分别是一条黑线,一条白线和一条黑线,8条白线。如图六:图六条形码的结束部分设计思想:1条形码的生成条形

5、码的第一数据部分是由dd7个数字形成的,其形成的方法详述如下:06首先使用d产生和dd匹配的字母码,该字母码有6个字母组成,字母限于A016和B。产生字母码的列表如下d0字母码0AAAAAA1AABABB2AABBAB3AABBBA4ABAABB5ABBAAB6ABBBAA7ABABAB8ABABBA9ABBABA表-d0映射表将dd和d产生的字母码按位进行搭配,来产生一个数字-字母匹配对。并通160过查表来得到dd形成的条形码第一数据部分。06将dd和C进行搭配,并通过查表得到dd形成的条形码的第二数据部712712分。该映射表如表二所示:数字-字母匹配对二进制信息0A00011010B01

6、001110C11100101A00110011B01100111C11001102A00100112B00110112C11011003A01111013B01000013C10000104A01000114B00111014C10111005A01100015B01110015C10011106A01011116B00001016C10100007A01110117B00100017C10001008A01101118B00010018C10010009A00010119B00101119C1110100表二数字-字母映射表绘制条形码:通过映射表二得到的二进制数码进行绘制,1对应黑线,0对

7、应白线。2条形码的识别:首先,通过条形码的起始部分的一条黑线、一条白线、一条黑线的规律组合识别出,第一数据部分的起始位置position_start_1。Position_start_1也就是条形码的第13条线。从position_start_1开始识别第一数据部分代表的二进制元信息(metainformation),即通过从position_start_1开始依次向右扫描42条线(第13条线到第54条线),得到42bit的二进制元信息码。然后将这个元信息码按照7bit一组进行分组,得到6个组group1,group2,group6。然后将groupi在表二中进行反向查表,得到数字-字母匹配对

8、(number-character),即得到了dd。通过得到的6个字母的组合得到一个字母码,并通过反向查找表一,得到d。同时现在的扫描位置为0position_middle。通过从position_middle开始识别一条黑线、一条白线、一条黑线的规律组合,找到了第二数据部分的起始位置position_start_2从position_start_2开始识别第二数据部分代表的二进制元信息(metainformation),即通过从position_start_2开始依次向右扫描42条线(第60条线到第101条线),得到42bit的二进制元信息码。然后将这个元信息码按照7bit一组进行分组,得到6个组groupl,group2,.,group6。然后将group

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论