版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、嵌入式系统综合设计题目:基于 VC的一维条形码识别学号:20124830248_姓名:张 文 天 _班级:12 计科 A2_专业:计算机科学与技术指导教师:侯东良 _日期:2015 年12 月20日基于 VC的一维条形码识别摘要条码技术是如今应用最广泛的识别和输入技术之一,由于其包含的信息量大,识别错误率低而在各个方面得到很大的重视。它发展迅速并被广泛应用于于工业、商业、图书出版、医疗卫生等各行各业。本系统采用 MicosoftVisualC+6.0 作为系统软件的编程语言和编译环境。设计研究主要分为两部分:一维条形码的预处理和一维条形码图像的特征提取和识别。第一部分首先对采集的EAN-13条
2、码图像进行预处理,图像的预处理主要是条形码灰度图像的二值化处理,良好的图像处理将对后面实现正确译码有至关重要的作用。第二部分就是对预处理后的条码图像进行特征提取和是识别,我们根据条形码的纹理特点和规则,对其进行特征提取和识别。得到条码所表示的文本信息。关键词 : 图像处理、条形码识别、EAN-13、二值化、 VC6.0目录1绪论.31.1条码技术概述.31.2Visual C+ 数字图像处理基础 .41.3文本研究意义及内容 .51.3.1研究意义 . .51.3.2研究内容 . .62一维条形码技术.62.1一维条形码简介 .62.2EAN-13 码简述 . .72.2.1EAN-13码的构
3、造 .72.2.2EAN-13码的编码规则 .82.2.3EAN-13编码的校验方法 .103一维条形码的识别 .103.1图像的预处理.103.1.1图像的二值化处理 . .103.1.2条码图像的提取 . .123.2条码图像的字符识别 . .124结论.13参考文献 .11 绪论1.1 条码技术概述条码技术是在计算机的应用实践中产生和发展起来的一种自动识别技术,条码应用技术就是应用条码系统进行的信息处理技术。条码技术的研究始于 20 世纪中期,是继计算机技术应用和发展应运而生的。 随着 70 年代微处理器的问世,标志着“信息化社会”的到来,它要求人们对社会上各个领域的信息、数据实施正确、
4、有效、及时的采集、传递和管理。 因此如何代替人的视觉、 人的手工操作、或者在复杂的环境中正确、 迅速地获取信息并加以识别, 成为人们普遍关心和有关人员精心研究的课题。通俗的说条形码是指在浅色衬底上印有深色矩形的线条( 也称条码 ) 排列而成的编码,其码条和空白条的数量和宽度按一定的规则( 标准 ) 排列。条形码是由一组规则排列的条、空、相应的数字组成。这种用条、空组成的数据编码可以供机器识读,而且很容易译成二进制数和十进制数。这些条和空可以有各种不同的组合方法,构成不同的图形符号,即各种符号体系,适用于不同的应用场合。条码系统是由条码符号设计、 制作及扫描阅读组成的自动识别系统。微电子技术和激
5、光技术的发展使得条码识别系统越来越受到人们的关注。条码是迄今为止最经济、实用的一种自动识别技术。条码技术具有以下几个方面的优点:可靠准确。数据输入速度快。经济便宜。灵活、实用。自由度大。设备简单。易于制作,可印刷,称作为“可印刷的计算机语言”。正因为条码具有上述迅速,准确,廉价,使用方便,适应性强等优点,克服了其他输入方法的不足, 所以他在各个行业中的发展可谓突飞猛进, 最初应用于物流管理,最引人注目的是 pos 系统,它使商店的定货管理,盘点,库存管理,库存查询,验货管理, 收款等各项工作效率得到极大地提高。 目前已经应用到计算机自动化的各个领域,包括质量跟踪,仓储管理,物资管理,票证管理,
6、人流物流管理,图书文献检索,医疗卫生,邮电系统,安全检查等领域。1.2 Visual C+数字图像处理基础BMP文件是 Windows操作系统所推荐和支持的图像文件格式,是一种将内存或显示器的图像数据不经过压缩而直接按位存盘的文件格式,所以称为位图( bitmap )文件,因其文件扩展名位 BMP,故称为 BMP文件格式,简称 BMP文件。BMP位图文件由四个部分组成:位图头文件( Bitmap-file Header )、位图信息头(Bitmap-information-Header)、调色板(Palette )和像素数据(ImageData)。位图头文件:包含文件类型、文件大小和存放信息等
7、信息,结构如下:typedef struct tagBITMAPFILEHEADER WORD bfType; / 类型名,必须是 0x424D,即字符串“ BM”, DWORD bfSize; / 文件大小WORD bfReserved1; / 保留字,不考虑WORD bfReserved2; / 保留字,同上DWORDbfOffBits;/ 实际位图数据的偏移字节数,即前三个部分长度之和BITMAPFILEHEADER;位图信息头:包含位图大小、压缩类型和颜色格式等信息,结构如下:typedef structtagBITMAPINFOHEADERDWORDbiSize;/ 指定此结构体的长
8、度,为40LONG biWidth;/ 位图宽LONG biHeight;/ 位图高WORD biPlanes;/ 平面数,为 1WORD biBitCount/采用颜色位数,可以是1,4,8,24DWORDbiCompression;/ 压缩方式, 0 为不压缩DWORDbiSizeImage;/ 实际位图数据占用的字节数LONG biXPelsPerMeter;/X方向分辨率LONG biYPelsPerMeter;/Y方向分辨率DWORDbiClrUsed;/ 使用的颜色数DWORDbiClrImportant;/ 重要颜色数,如果为0,则表示所有颜色都是重要的BITMAPINFOHEA
9、DER;调色板:VisualC+中,调色板实际上定义为一个数组,共有biClrUsed 个元素,每个元素类型是一个RGBQUAD结构,其定义如下:typedefstructtagRGBQUADBYTE rgbBlue;/ 该颜色的蓝色分量BYTE rgbGreen;/ 该颜色的绿色分量BYTE rgbRed;/ 该颜色的红色分量BYTE rgbReserved;/ 保留值RGBQUAD;像素数据:紧跟在调色板之后的是图像数据字节阵列,用 BYTE数据结构存储。图像的每一扫描行由表示图像的连续像素字节组成, 每一行的字节数取决于图像图像的颜色数和用像素表示的图像宽度。扫描行是由底向上存储的,这就
10、是说, 数据存放是从下到上, 从左到右。从文件中最先读到的图像数据是位图最下面的左边的第一个像素, 然后是左边第二个像素, 而最后读到的图像数据是位图最上面一行的最右边的一个像素。1.3 文本研究意义及内容1.3.1研究意义条形码技术主要研究如何用条码标识信息、 并将条形码表示的信息转换成计算机可识读的语言,以实现自动输入、自动识读、自动统计 . 在先进的工业国家里,条码技术作为一种信息处理技术己成为社会化产物,不仅应用于生产过程,而且也应用于管理过程。在我国条码技术起步比较晚,但它的发展非常迅速,己被广泛用于工业、商业、图书出版、医疗卫生等各行各业。随着全球经济贸易体系的形成,将被更广泛用于
11、其它领域。现在,它已变成商品进入国际市场的通行证。图像处理识读方法是首先对条码图像进行处理,然后利用统计方法,根据相似边距离来判别条码字符,再通过译码、校验、纠错处理来识读条码,这样将大大降低条码印刷质量以及条码污染等各种因素的干扰,从而有效地提高条码的识读率。1.3.2研究内容本文所研究的是基于图像处理方式的条码的识别工作,具体工作如下:在 Visual C+ MFC 框架下,利用工具 Class Wizard 添加图像处理类实现位图文件的读取及打开;对一维条形码图像的预处理(二值化)编程;利用一维条形码的纹理特点和规则, 对其进行特征提取和识别的算法研究与实现。2 一维条形码技术2.1 一
12、维条形码简介条码由一组规则排列的条,空及相应的字符组成。条码的信息靠条和空的不同宽度不同位置来传递的,信息量的大小事由条码的宽度和印刷的精度来决定的,条码越宽,包容的条和空越多,传递的信息量也越大,条码印刷的精度越高单位长度内可以容纳的条空也越多, 传递的信息量也越大。 常见的条形码是由反射率相差很大的黑条和白条排成平行线图案。 条形码可以标出物品的生产国、 制造厂家、商品名称、生产日期、图书分类号、类别等许多信息。一般情况下,条码组成结构如下:起始边界和终止边界:均为“静态区”,是没有字元、条纹的空白区。开始读取信号:放在条码数据信号的第一个字元之前,是一个空白团的特殊条码,用来辨别条码数据
13、符号的开始信号。数据信号:数据信息的来源。终止字元符号:也是一种特殊条纹与空白图案,告知解码器该数据已经输送完毕。检查和字元:位于数据信息码之后,终止符号之前,检查解码后的结果正确与否。2.2 EAN-13 码简述2.2.1 EAN-13 码的构造European Article Number(EAN)是欧洲物品编码的缩写,其中,共计13位代码的 EAN-13是比较通用的一般终端产品的条形码协议和标准,主要应用于超级市场和其他零售业,一次这种是日常比较常见的。代码前3 位是国家代码,中间 4 位是生产商代码,后5 位是产品代码,最后一位是自动生成的校验码。EAN-13商品条码由左侧空白区、起始
14、符、左侧数据符、中间分隔符、右侧数据符、校验符、终止符、右侧空白区及供人识别字符组成,共有113 个模块,如图 2.1 所示:图 2.1 EAN- 条码符号结构1) 左侧空白区:位于条码符号起始符左侧,无印刷符号且与空的颜色相同的区域。其最小宽度为 11 个模块宽。2) 起始符:位于条码符号左侧, 表示信息开始的特殊符号, 由 3 个模块组成。3) 左侧数据符:介于起始符和中间分隔符之间的表示信息的一组条码字符。表示前缀码(不包含前置码) 和厂商代码, 共 6 位数字。由 42 个模块组成。4) 中间分隔符:位于条码符号的中间位置,是平分条码符号的特殊符号,由 5 个模块组成。5) 右侧数据符
15、:中间分隔符右侧的一组选自 C子集的条码字符,表示 5 位商品代码,又 35 个模块组成。6) 校验符:最后一个条码字符,选自 C子集,由 7 个模块组成,表示一个校验字符。7) 终止符:位于条码符号右侧, 表示信息结束的特殊符号, 由 3 个模块组成。8) 右侧空白区:在终止符之外的无印刷符号且与空的颜色相同的区域,其最小宽度为 7 个模块。2.2.2 EAN-13 码的编码规则表 2.2 说明了 EAN-13 条码中的每个数位应该如何编码,这要取决于这个数位位于条码的哪半边(左边还是右边)。在这种情况下,一个左手边数位的编码(奇数性还是偶数性) 将取决于数制码的第一个数位的值 (见下表中奇
16、偶性编码)。表 2.2 EAN 字符集编码表观察发现:一个 EAN-13字符使用 7 个元素来描述,包含2 个条和 2 个空间。任何条或空间的长度都不会超过4 个元素。条码左手边的所有字符总是以0 (空间)开始的,而条码右手边的所有字符都是以 1 (条)开始的。如果把 1 变成 0 ,把 0 变成 1 ,那么 “右手边 ”编码模式和 “左手边奇数 ”编码模式是完全相同的。“左手边偶数 ”编码模式是基于 “左手边奇数 ”编码模式的。为了得到偶数编码,可以按照如下步骤对左手边编码模式进行操作: 1 )把所有的 1 变成 0 ,0变成 1 。 2)将得到的结果编码反着读(从右到左)就得到了 “左手边
17、偶数 ” 编码模式。表 2.3 说明了条码左手边每个字符按照哪种奇偶性进行编码。奇偶性取决于EAN-13值得第一个数位。 例如,我们的 CD的 EAN-13值是 0075678164125。在这个条码中,数制码的第一个数位就是第一个“ 0”,所以,奇偶性就应该遵循下表中的数字 0 一行:表 2.3 EAN 奇偶性编码表观察发现:第二个数制位总是按照奇数性进行编码(这在解码时很重要)。一个 UPC-A条码的第一个数制位总是0,因此,全部使用奇数性。所有 EAN-13符号(那些第一个数制位不是 0 的)始终有 3 个左手边字符采用偶数性编码,有 2 个采用奇数性编码。这两个表是 EAN-13编码的
18、关键和核心,并且兼容现有的UPC-A符号。2.2.3 EAN-13编码的校验方法校验码的主要作用是防止条形码标志因印刷质量低劣或包装运输中引起标志破损而造成扫描设备误读信息。作为确保商品条形码识别正确性的必要手段,条形码用户在标志设计完成后,代码的正确与否直接关系到用户的自身利益。对代码的验证,校验码的计算是标志商品质量检验的重要内容之一,应该谨慎严格,需确定代码无误后才可用于产品包装上。下面是 EAN-13 条形码的校验码验算方法,步骤如下:(1)以未知校验位为第1 位,由右至左将各位数据顺序排队 (包括校验码);(2 )由第 2 位开始,求出偶数位数据之和,然后将和乘以3 ,得积;(3 )
19、由第 3 位开始,求出奇数位数据之和,得;(4)将和相加得和;(5 )用除以 10 ,求得余数,并以10 为模,取余数的补码,即得校验位数据值;(6)比较第 1 位的数据值与 C 的大小,若相等,则译码正确,否则进行纠错处理。3 一维条形码的识别3.1 图像的预处理3.1.1图像的二值化处理灰度化二值化,为实现数字图像的阈值变换提供前提条件,要将 256色位图转变为灰度图,灰度与 RGB值之间的关系为: Y=0 299R+0587G+O114B二值化是利用点运算中的阈值变换理论将灰度图转化为二值图像。二值化中阈值 T 的选择是关键, 在整幅图中,我们最关心的是条码,条码是由条空 ( 黑白 )
20、组成的,又因为本实验中所用图像为 256色位图,故采用双峰法得到阈值 T,对其阀值设置为 128,此阈值可以有效地把条码的条空区分出来。下图为实验中二值化图像:图 3.2二值化后的条码图像部分代码如下:void GrayTrans:BinaryImage(int threshold)if(m_pImgDataOut!=NULL)delete m_pImgDataOut;m_pImgDataOut=NULL;if(m_lpColorTableOut!=NULL)delete m_lpColorTableOut;m_lpColorTableOut=NULL;m_nBitCountOut=8;m_n
21、ColorTableLengthOut=ComputeColorTabalLength(m_nBitCountOut); if(m_nColorTableLengthOut!=0)m_lpColorTableOut=new RGBQUADm_nColorTableLengthOut; for(int i=0; im_nColorTableLengthOut;i+)m_lpColorTableOuti.rgbBlue=i;m_lpColorTableOuti.rgbGreen=i;m_lpColorTableOuti.rgbRed=i;m_lpColorTableOuti.rgbReserved
22、=0;int pixelByteIn=3;int lineByteIn=(m_imgWidth*pixelByteIn+3)/4*4;m_imgWidthOut=m_imgWidth;m_imgHeightOut=m_imgHeight;int lineByteOut=(m_imgWidth*m_nBitCountOut/8+3)/4*4;m_pImgDataOut=new unsigned charlineByteOut*m_imgHeight;int m,n;for(m=0;mm_imgHeight;m+)for(n=0;nm_imgWidth;n+)*(m_pImgDataOut+m*l
23、ineByteOut+n)=0.11*(m_pImgData+m*lineByteIn+n*pixelByteIn+0)+0.59*(m_pImgData+m*lineByteIn+n*pixelByteIn+1)+0.30*(m_pImgData+m*lineByteIn+n*pixelByteIn+2)+0.5;int i,j;for(i=0;im_imgHeight;i+)for(j=0;jm_imgWidth;j+)if(*(m_pImgDataOut+i*lineByteOut+j)threshold)*(m_pImgDataOut+i*lineByteOut+j)=0;else*(
24、m_pImgDataOut+i*lineByteOut+j)=255;3.1.2条码图像的提取图像提取是把图像中的条码部分割出来,得出宽度序列,用于后续的条码译码。通过水平方向和垂直方向的直方图统计,寻找二值化后图像条码区域,来搜索得到条码图像宽度序列。为下一步的字符识别做好准备。3.2 条码图像的字符识别EAN-13是一种 (7, 2) 码,即每个字符的总宽度为7 个模块宽,交替由两个条和两个空组成,而每个条空的宽度不超过4 个模块,如图 4 所示。图 3.1 EAN-13 条码宽度的定义图 3.1 中表示当前字符中四个相邻条、 空的宽度, 是一个字符的宽度,满足:, 为整数;且。用 表示当前字符单位模块的宽度, 则 。令 , 。由 的值可以得到编码。例如:若 ,且条码的排列为条 空 条 空,则可知当前字符的编码为 1000100 ,是右侧偶字符 7。 ,且条码的排列为空 条 空 条,则可知当前字符的编码为 0001011 ,是左侧偶字符 9 。识别结果如下图:图 3.2 EAN-13 条码识别结果4 结论在对条码图像作相应的图像预处理之后,对得到的二值条码图像利用上述条码识别算法在 vc6.0 软件环境下编写了相应的软
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中考文言文复习资料大全课外文言文冲刺课件
- 不等式证明复习课课件
- 单位管理制度合并选集职员管理篇十篇
- 单位管理制度分享合集【职员管理篇】
- 《诗歌鉴赏表达技巧》课件
- 《企力管理咨询》课件
- 单位管理制度呈现大全【职员管理篇】
- 《转基因生物安全性》课件
- 4S店维修安全管理制度
- 七夕情人节课件
- 人工开挖土方施工方案
- 佛山市顺德区2023-2024学年四上数学期末质量检测模拟试题含答案
- 昆明市公交集团车载视频监控平台升级方案20191025
- 一流课程申报
- 高中体育特长生名校报考路径分析课件
- 主要建筑材料碳排放因子查询表
- 建筑施工室内装饰设计施工图讲解
- 冠寓运营管理手册
- 耳部铜砭刮痧技术评分标准
- 玻璃幕墙施工方案幕墙
- 抗精神疾病药物与麻醉课件
评论
0/150
提交评论