基于Zbar条形码图像识别实现.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Zbar条形码图像识别实现

基于Zbar条形码图像识别实现   摘要:本文是基于Zbar开源条形码识别开发包,使用VC++开发工具和OpenCV,进行条形码图像的识别,介绍了条码码识别常用的两种方法和条形码图像识别要解决的两个关键问题。详细讲述了基于Zbar条形码图像识别的具体实现步骤:开发工具环境的设置、条形码图像的获取、条形码图像的预处理、条形码图像的识别四个步骤,重点是Zbar开发工具的实现方法。   关键词:条形码 识别 Zbar OpenCV 图像   中图分类号:TP391.41 文献标识码:A 文章编号:1007-9416(2016)08-0128-02   自从上世纪末,互联网得到了飞速发展,互联网为信息化和现代化奠定了坚实的基础,在人们不断探索人与人的现代通信技术的同时,视觉也在物与物的通信角度悄然翻开。从2005年开始,一种全新的“网络”―物联网开始悄然出现并影响日益巨大,物联网被视为互联网的应用拓展,实现了任何物体与物体之间的信息交换和通信。目前物联网中最常用的信息采集技术是条形码技术,所以条形码图像采集和识别将变得越来越重要。   1 条形码技术简介   条形码是一种信息代码,它用特殊的图形来表示数字、字母信息和某些符号,用以表示一个完整数据的符号。条形码分为一维条形码和二维码。   一维条形码简称条形码,它是由一组规则排列的条、空以及对应的字符组成的标记,这些条和空组成的数据表达一定的信息。常用的一维码的码制包括:EAN码、39码、UPC码、128码、93码、库德巴码等。   二维条形码简称二维码,它是用某种特定的几何图形按一定规律在平面分布的黑白相间的图形记录数据符号信息的。常用二维码的码制有:DataMatrix、MaxiCode、Aztec、QRCode、Code49等。   2 条形码图像识别的常用方法   对条形码的图像进行识别,就是对条码图像进行译码,得到条码所表示的文本信息,常用的方法有如下两种:   2.1 按照条形码编码原理识别条码   由于条形码种类多,且每种条码都有自己的编码规则,所以利用条形码的编码原理来识别条形码,一是对条形码图像处理的要求高,二是每一种条形码编码需要相应的识别算法,程序编程量大,识别难度大。   2.2 使用开源条形码识别工具包进行识别   由于条形码都是标准化的产品,目前市场上有专门的条形码识别工具包,帮助程序开发者快速方便地识别出图像中的条码信息,这样开发者就无需再对图像中不同类型的条形码编写解码程序,只需将图像交给工具包就能快速得到条码信息。目前条形码识别工具包有很多,但开源的条形码开发工具包不多,主要有两个,一是Zbar工具包,另一是ZXing工具包,两者都具有解码多种格式的一维和二维条形码功能,并且这两种工具包支持多平台和多语种版本供开发者使用。ZBar工具是基于C语言编写,解码效率高于ZXing,所以在windows平台下,使用VC++开发工具进行条形码识别,首先Zbar工具包。   3 条形码图像识别要解决的两个关键问题   条形码图像识别的流程是:采集图像、图像预处理、条形码识别,得到图像中的条形码信息。需要解决好二个问题,即图像处理和条形码识别问题。   3.1 图像处理问题   图像处理部分是条码识别的前期工作,需要使用强大的图象处理工具来进行,包括图像的读入、条形码区域的裁剪、滤波、二值化处理等,得到高质量图像。条码识别就是在这个图像的基础上实现,所以图像处理的质量直接关系到条码能否正确识别。   3.2 条形码识别问题   条形码识别问题,就是采用什么方法把图像上的条形码转化成相应的文本信息。如果采用根据条形码编码原理来识别条码,因为条形码种类多,每种条形码编码方式不同,开发人员不仅要熟悉各种条形码的编码规则,而且要针对每种条形码编写相应的解码程序,具有实现起来难度大、编程量大等缺点。而采用条形码识别工具包来进行条形码识别,一可以大大简化编程工作量;二不需要熟悉各种条形码的编码规则,识别工具包都能自行判断;三来识别率高、速度快。   4 基于Zbar条形码图像识别的实现步骤   要对图像中的条形码进行识别,有很多种实现途径,本文是在windows操作系统下,使用VC++开发工具来实现,需要如下几个步骤:   4.1 开发工具环境的设置   使用Zbar进行条形码图像识别的第一步是开发工具的环境设置,开发工具环境的设置包含两个方面:一是图像处理工具设置;二是Zbar工具包设置。   4.1.1 图像处理工具OpenCV的设置   OpenCV是一个基于C/C++语言的开源图像处理函数库,其代码都经过优化,用于实时处理图像,图像处理能力强大、速度快、使用方便。使用OpenCV函数库时,需要正确的配置VC++的工程

文档评论(0)

erterye + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档