基于图像处理的QR码的识别和译码系统(精品)_第1页
基于图像处理的QR码的识别和译码系统(精品)_第2页
基于图像处理的QR码的识别和译码系统(精品)_第3页
基于图像处理的QR码的识别和译码系统(精品)_第4页
基于图像处理的QR码的识别和译码系统(精品)_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、毕 业 论 文设计论文设计题目:基于图像处理的QR码的识别和译码系统系 别: 专 业: 学 号: 姓 名: 指导教师: 时 间: 毕 业 论 文设 计 开 题 报 告系别:计算机与信息科学系 专业: 网络工程学 号 姓 名刘鹏显论文设计题目基于图像处理的QR码的识别和译码系统命题来源 eq oac(,)教师命题 学生自主命题 教师课题选题意义:众所周知,一维的条形码经过十几年的开展,其应用从超市、便利店为代表的商品管理开始,已经成为各行业有效的信息输入手段,然而随着信息化的急速开展,一些新的需求显现出来:收纳更多的信息、印刷在更小的空间里。随着网络的高速开展,外表上看,企业间的信息交换和共享电

2、子数据交换所需的网络根底设施已经建立,但实际上由于互联网协议以及平安等问题,短期内还无法用互联网进行数据交换,因此需要使用二维码进行纸面上电子数据交换的行动。二维码正是为了适应这样的需求而开发的,QR码具有高密度、大容量、纠错能力强等特点,拓宽了应用领域。现在二维码的应用越来越广泛,其应用与 网络除了可以用来扫描名片,管理个人联络 能力之外,还可以拿来网络购物、实现 的自动上网、还可以实现结账时的数据处理,又或者是以QR码代替入场券等等。二维条码的广泛应用必将带来条码识别技术的新要求和新问题。比方需要在图像采集失真,图像背景更复杂,图像变形严重等情况下还能很好的识别并解码二维条码。这对研究二维

3、条码技术的广阔科研人员既是挑战也是动力。 研究综述:条形码技术是集条码理论、光电技术、计算机技术、通信技术等技术于一体的综合性技术,起源于20世纪40年代。它具有输入速度快、可靠性高、采集信息量大、本钱低等特点,近年来开展十分迅速,在国际上广泛应用于商品流通、物流仓储、信息效劳等各个领域,极大地提高了生产效率。近几年,另一个广泛得到普及的领域就是 。自90年代初以来,无线移动技术和市场应用得到飞速开展和成功。从寻呼机到目前3G 的面市,中国人已经习惯了手中的移动 不停地变化。移动通信开展的焦点已经由用户数量的增长,转为业务量和新业务的增长;由技术驱动转为业务驱动。在剧烈的市场竞争中,越来越成熟

4、的 用户不仅注重 硬件的外观,更注重 所赋予的强大功能。以上两个普及领域催生了一个新的需求:即将二维码和 结合起来,利用 作为读取设备,实现条码识别。二维条码是为了解决一维条码无法解决的问题而产生的。它除具备一维条码的优点外,突破了一维条码的限制,具有如下特点:1.信息密度大。二维条码是在水平和垂直两个方向的二维空间上存储信息的符号,通常情况下其密度是一维条码的几十到几百倍.2.编码范围广。不仅可以存储数字、字符,还可以存储多种语言文字、图片(如照片、指纹等)、声音等信息。3.纠错能力强。二维条码引入错误纠正机制。这种纠错机制使得二维条码因污染、破坏引起局部损坏时,照样可以正确得到识读。4.保

5、密性能好。可以用加密算法对图像信息加密后,再用二维条码表示。识别二维条码时,用相应的解密算法,就可以恢复原来的图像,这样便可以防止各种证件、卡片等的伪造。研究的目标和主要内容本课题主要研究二维条码QR Code的识别程序及译码方法,使用Windows C# 来开发QR识别程序,通过Microsoft 的 .NET 平台,能很方便地实现移植。 为了便于调试,本文设计了一个QR编码的方法,用于生成QR图像,再把生成的图像用识别器进行识别 其中实现QR编译的类为QRCodeEncoder ,主要的属性有:QRCodeEncodeMode、QRCodeScale、QRCodeVersion、QRCod

6、eErrorCorrect,编译方法声明为 Bitmap Encode( String , Encoding ),设置好QRCodeEncoder的属性后,再调用QRCodeEncoder. Encode( 需编码的字符串 ,字符串的字符集 )就可以得到字符串对应的QR码,结果是一个Bitmap类,可以保存为图片。QR码的识别处理,封装在QRCodeDecoder类中,该类有一个解码方法声明为 String decode(QRCodeImage) ,其中QRCodeImage为需要识别的图片,返值为识别后的字符串,要使用QRCodeImage,可以在生成QRCodeImage对象的时候,传一个

7、Bitmap对象。拟采用的研究方法a查找并阅读相关资料,了解根本的内容,利用需求分析文档,对整个系统有个初步的架构。b搜寻实验用的文件文档集和研究过程中用到的各种工具软件。c根据已有的资料并借助面向对象的程序设计思想对系统各模块进行分析、建模、设计。d使用Windows C# 来开发QR识别程序,通过Microsoft 的 .NET 平台,能很方便地实现移植。研究工作的进度安排2021年11月15号11月22号 与指导老师沟通交流,完成毕业论文选题。2021年11月23号11月31号 搜集资料,查阅文献,完成开题报告。2021年01月10号2021年02月10日 完成文献综述2021年02月2

8、1号03月10号 定出QR码的识别和解码系统的需求分析文档2021年03月11号04月20号 整理相关资料并完成概要和详细设计2021年04月21号05月10号 进行编码工作及过程中的必要性测试2021年05月11号05月16号 后期的联机调试和测试20211年05月17号05月25号 总结毕业设计的整个过程,完成毕业设计论文初稿20211年05月26号05月30号 修改毕业论文定稿,打印装订,参加辩论参考文献目录作者、书名或论文题目、出版社或刊号、出版年月日或出版期号1李弼程,彭天强,彭波.智能图像处理技术M.北京:电子工业出版社,20042于殿涨.图像检测与处理技术M.西安:西安电子科技大

9、学出版社,20063杨淑莹.VC+十图像处理程序设计M.北京:北方交通大学出版社,20034孙家广.计算机图形学M.北京:清华大学出版社,20025何斌,马天予,王运坚.VisualC+数字图象处理M.北京:人民邮电出版社,20026中国物品编码中心.条码技术与应用M.北京:清华大学出版社,20047张成海,郭卫华. QRCode一一种新型的矩阵符号M.北京:中国标准出版社,2000。8中国物品编码中心.QRCode二维码技术与应用M.北京:中国标准出版社,2002。9王新梅.纠错码与过失控制.北京:人民邮电出版社M,1989.10朱诗兵,刘作学,李迎春.信息论与编码理论M.北京:科学出版社,

10、200512梁鹏. 二维码业务研究.北京:研究与设计,2006图像方式的二维条码译码研究M.北京:北京工业大学,200114董强.QR码识别技术及在 中的应用M.山东:青岛大学,200615沈庭芝,方子文.数字图像处理及模式识别M.北京:北京理工大学出版社,2005指导教师意见该生选题在基于图像处理的QR码的识别与译码程序,开发环境为Microsoft .NET ,充分利用面向对象的方法,结合图像处理技术,该系统可以实现移植,技术上比拟新颖,难度适中,也有实用价值,工作量符合要求,同意开题。 签名: 年 月 日教研室主任意见同意指导教师意见,同意开题。 签名: 年 月 日目录 TOC o 1-

11、3 h z u HYPERLINK l _Toc294257785 摘要 PAGEREF _Toc294257785 h 1 HYPERLINK l _Toc294257786 关键词 PAGEREF _Toc294257786 h 1 HYPERLINK l _Toc294257789 1 引言 PAGEREF _Toc294257789 h 1 HYPERLINK l _Toc294257790 1.1 QR码简介 PAGEREF _Toc294257790 h 1 HYPERLINK l _Toc294257791 1.2 QR码的分类 PAGEREF _Toc294257791 h 1

12、 HYPERLINK l _Toc294257792 1.3 QR码的特点 PAGEREF _Toc294257792 h 1 HYPERLINK l _Toc294257793 1.4 QR码的应用 PAGEREF _Toc294257793 h 2 HYPERLINK l _Toc294257794 1.5 国内外研究现状 PAGEREF _Toc294257794 h 2 HYPERLINK l _Toc294257795 本文的相关工作 PAGEREF _Toc294257795 h 3 HYPERLINK l _Toc294257796 2 QR码的识别算法 PAGEREF _Toc

13、294257796 h 3 HYPERLINK l _Toc294257797 2.1 QR码的识别流程 PAGEREF _Toc294257797 h 3 HYPERLINK l _Toc294257798 2.2 图像的灰度化 PAGEREF _Toc294257798 h 4 HYPERLINK l _Toc294257799 2.3 图像的降噪处理 PAGEREF _Toc294257799 h 5 HYPERLINK l _Toc294257800 2.4 图像的二值化处理 PAGEREF _Toc294257800 h 6 HYPERLINK l _Toc294257801 图形的

14、定位 PAGEREF _Toc294257801 h 7 HYPERLINK l _Toc294257802 2.6 常规扫描方法 PAGEREF _Toc294257802 h 8 HYPERLINK l _Toc294257803 2.7 扫描线段分类 PAGEREF _Toc294257803 h 9 HYPERLINK l _Toc294257804 3 QR码译码过程 PAGEREF _Toc294257804 h 11 HYPERLINK l _Toc294257805 3.1 RS 码在QR 码解码中的应用 PAGEREF _Toc294257805 h 11 HYPERLINK

15、 l _Toc294257806 3.2 QR Code 码译码中几个关键问题 PAGEREF _Toc294257806 h 12 HYPERLINK l _Toc294257807 4系统算法的实现 PAGEREF _Toc294257807 h 13 HYPERLINK l _Toc294257808 5 实验结果与分析 PAGEREF _Toc294257808 h 15 HYPERLINK l _Toc294257809 6 总结与展望 PAGEREF _Toc294257809 h 16 HYPERLINK l _Toc294257811 参考文献目录 PAGEREF _Toc29

16、4257811 h 16 HYPERLINK l _Toc294257787 Abstract18 HYPERLINK l _Toc294257788 Keywords 18 HYPERLINK l _Toc294257810 致谢 PAGEREF _Toc294257810 h 18基于图像处理的QR码的识别和译码系统网络工程专业 指导教师 摘要随着信息技术的开展,条码在更多的领域中得到了广泛的应用,大大提高了各行各业的生产工作效率。条码识别是以条码理论、光电技术、计算机技术和通信技术为根底的综合性技术,是信息数据自动输入、识别的重要方法。本文基于Windows C# 来开发QR识别和译码程

17、序,运用图像校正、二值化、边缘检测等各种图像处理方法实现条码的预处理,并进行QR码的解码和Reed-Solomon纠错算法,充分利用面向对象的方法,结合图像处理技术,完成了基于图像处理的QR码快速识别的解码系统。关键词二维条码 快速响应码 .NET 条码识别 二值化1 引言1.1 QR码简介QR码是二维条码的一种,由日本的Denso-Wave公司在1994创造。其英文“Quick Response的缩写,意思为快速反响,源于创造者希望QR码可让其内容快速被解码。其最常见于日本,并为目前日本最流行的二维空间条码。其比普通条码可储存更多资料,亦无需像普通条码般在扫描时需直线对准扫描器。其呈正方形,

18、只有黑白两色,在3个角落,印有较小,像“回字的正方图案。这3个是帮助解码软件定位的图案,使用者不需要对准,无论以任何角度扫描,资料仍可正确被读取。1.2 QR码的分类二维条码的出现是条码开展历史上的一个里程碑,它从本质上提高了条码技术的应用水平,拓宽了条码技术的应用领域,国外对二维条码的技术研究始于80年代末,目前主要有Code49、Code16K、Code one、四一七条码、QR条码等。1.3 QR码的特点1高密度编码,信息容量大:可容纳多达1850个大写字母或2710个数字或1108个字节,或500多个汉字,比普通条码信息容量约高几十倍。2编码范围广:该条码可以把图片、声音、文字、签字、

19、指纹等可以数字化的信息进行编码,用条码表示出来;可以表示多种语言文字;可表示图像数据。3容错能力强,具有纠错功能:这使得二维条码因穿孔、污损等引起局部损坏时,照样可以正确得到识读,损毁面积达50仍可恢复信息。4译码可靠性高:它比普通条码译码错误率百万分之二要低得多,误码率不超过千万分之一。5可引入加密措施:保密性、防伪性好。6本钱低,易制作,持久耐用。 7条码符号形状、尺寸大小比例可变。8二维条码可以使用激光或CCD阅读器识读。1.4 QR码的应用QR码原本是为了在汽车制造厂便于追踪零件而设计,然而随着时代的开展它的应用也越来越多,主要表现在四个方面上:1自动化文字传输:通常应用在文字的传输,

20、利用快速方便的模式,让人可以轻松输入如地址、 号码、行事历等,进行名片、行程资料等的快速交换。2数位内容下载:通常应用在电信公司游戏及影音的下载,在帐单中打印相关的QR码资讯供消费者下载,消费者透过QR码的解码,就能轻易连线到下载的网页,下载需要的数位内容。(3网址快速连结:以提供使用者进行网址快速连结、 快速拨号等。(4身分鉴别与商务交易:许多公司现在正在推行QR码防伪机制,利用商品提供的QR码连结至交易网站,付款完成后系统发回QR码当成购置身份鉴别,应用于购置票卷、贩卖机等。在消费者端,也开始有企业提供了商品品牌确认的效劳,透过QR码连结至统一验证中心,去核对商品资料是否正确,并提供生产履

21、历供消费者查询,消费者能够更明白商品的资讯,除了能够杜绝仿冒品,对消费者的购物更是多了一层保护。1.5 国内外研究现状国外对二维条码技术的研究始于20世纪80年代末。1987年符号设计专家戴维.阿利尔 (DavidAnais)博士提出了一种称为Code49的二维条码,开创了进行二维条码研究的先河。特德这些二维条码的密度都比传统的一维条码有了较大的提高,如PDF417的信息密度是一维条码Code39的20多倍。在二维条码标准化研究方面,国际自动识别制造商协会(A且以)、美国标准化协会(ANsl)已完成了PDF417,QR,Code49, le16K,Codeo等码制的符号标准。我国对二维条码技术

22、的研究始于1993年。中国物品编码中心对几种常用的二维条码pDF417,QR码, nataMatrix, eode49, eede16K等技术标准进行T翻译和跟踪研究,并制定了两个二维条码的国家标准:GB厅17172一1997?四一七条码?,GB厅18284一2000?快速响应矩阵码?。国内的一些企业也提出了自主研发的二维条码。如:深圳矽感科技的CM紧密矩阵码 (CompactMatrixcede)、GM网格矩阵码 (GridMatrixCode)以及上海龙贝科技的“龙贝码。它们的多项技术指标超过国际上现有的同类码制,整体技术到达国际先进水平,实用性强,并且已在民航等领域得到了实际的应用。为加

23、快二维条码在我国的研究及应用,中国物品编码中心与各地分支机构进行了许多二维条码的应用试点工作。1999年3月在北京举行的全国人大第九届三次全体会议和全国政协第九届三次会议期间,在随行人员证件、记者证、旁听证上成功地应用了二维条码技术,引起了与会代表和新闻界的极大关注;在专利收费、邮政管理、财政管理、暂住人口管理、部队仓库管理上的应用等,都取得了很好的效果。目前,我国香港特别行政区己将二维条码应用在特别行政区的护照上;我国的汽车行业自动化生产线、医疗急救效劳卡、涉外专利案件收费、珠宝玉石饰品管理及银行汇票上也已取得了良好的应用;由于二维条码信息容量大,对主系统和网络依赖性能低,保密防伪性能好,并

24、且本钱低,寿命长,适合我国人口众多、经济开展不平衡、计算机建设还很不完善的国情。随着信息技术和现代化管理的开展,人们对其认识的提高、理解的加深以及人们对产品不同需求的增加,二维条码技术在我国有着更加广阔的开展前景。本设计的主要任务是在研究二维条码的码制标准的根底上实现对二位条码QR码的告诉采集与识别本文简要介绍了条码的各种码制与应用现状,详细分析了QR码的根本特点、符号结构;在条码图像识别方面,研究了对采集的条码图像进行预处理的方法,即:对图像进行整形。运用图像校正、二值化、去噪、边缘检测、Hough变换、图像旋转等多种图像处理方法实现条码图像的预处理、条码定位、条码分割和数据提取。对预处理后

25、的条码图像进行译码,设计了QR码的解码和Reed一Solomon纠错算法。2 QR码的识别算法2.1 QR码的识别流程灰度化去噪二值化寻找探测图形确定旋转角度定位旋转获得数据图1-1 图像识别流程首先,对采集的彩色图像进行灰度化,以提高后继的运行速度。其次,去除噪声。采用十字形中值滤波去除噪音对QR码图像的干扰主要是盐粒噪声。再次,利用灰度直方图工具,使用迭代法选取适当的阈值,对QR码进行二值化处理,使其变为白底黑色条码。最后,确定QR码的位置探测图形,对条码进行定位,旋转至水平后,获得条码数据,以便下一步进行解码。2.2 图像的灰度化 拍摄的图片都是RGB图,将RGB图像转化为灰度图像的过程

26、叫做灰度化。灰度化的常用方法有两种:1Gray(i,j) = 0.299 * R(i,j) + 0.587 * G(i,j) + 0.114 * B(i,j)2Gray(i,j) = 30 * R(i,j) + 59 * G(i,j) + 11 * B(i,j)/100第一种方法得到的结果精度较高,但会增加CPU的处理负担,相反,第二种方法没有涉及浮点运算,CPU的处理速度较快,但精度较低。本设计进行灰度化的实现函数如下:internal virtual void imageToGrayScale(int image)for (int y = 0; y image0.Length; y+)fo

27、r (int x = 0; x 16 & 0 xFF;int g = imagexy 8 & 0 xFF;int b = imagexy & 0 xFF;int m = (r * 30 + g * 59 + b * 11) / 100;imagexy = m;2.3 图像的降噪处理图像拍摄后,可能会存在噪声,噪声的存在会影响到识别的结果,所以在进一步处理之前,应该先降低图像的噪声。降噪的方法很多,有高斯滤波、中值滤波、平滑滤波等,在此选用的是中值滤波法,因为中值滤波是一种非线性平滑滤波器。中值滤波在降低噪声的同时,又可以保持图像的细节,使用中值滤波时能较好保护图像的边缘。中值滤波算法的主要步骤

28、为:将滤波窗口在图中漫游,并将滤波窗口中心与图像中的某个像素位置重合;读取滤波窗口中所有像素的灰度值;将2中得到的灰度值从小到大排序;找出经过排序的灰度值里排在中间的那个;将这个中间灰度值赋给对应滤波窗口中心位置的像素。中值滤波的滤波窗口的形状和尺寸对滤波效果有一定的影响。常用的中值滤波窗口形状一般为正方形、十字形等。就一般经验而言,对于有缓慢变化的较长轮廓线物体的图像,适合使用正方形窗口;对于包含尖角物体的图像,适合使用十字形窗口。窗口大小一般小于图像中最小有效物尺寸为宜。中值滤波的函数实现如下:internal virtual bool applyMedianFilter(bool ima

29、ge, int threshold)bool filteredMatrix = new boolimage.Length;for (int i = 0; i image.Length; i+)filteredMatrixi = new boolimage0.Length;/filtering noise in image with median filter int numPointDark;for (int y = 1; y image0.Length - 1; y+)for (int x = 1; x image.Length - 1; x+)/if (imagexy = true) nu

30、mPointDark = 0;for (int fy = - 1; fy 2; fy+)for (int fx = - 1; fx threshold)filteredMatrixxy = POINT_DARK;return filteredMatrix;2.4 图像的二值化处理二值化就是将图像转换成只有黑或白两种颜色,二值的方法也有很多,一种较为常用的是阈值法,取一个适宜的阈值,使图像中每一个像素点应该属于目标还是背景区域,从而产生相应的二值图像。设原始图像为f(x,y),按照一定的准那么在该图像中找到特征阈值T,将图像分割为两局部,分割后的图像为: 2-1其中,b0为黑,b1为白。在QR码

31、的图像二值化中,一般取b0=1,b1=0,也就是: 2-2根据确定阈值的取样范围来分,二值化的方法可以分为全局阈值法与局部阈值法。全局阈值法对整幅图像的所有像素点进行取样,通过相关算法计算出一个阈值,进行二值化。而局部阈值法又称为自适应阈值法是将整幅图像划分成假设干区域通常是均匀划分,对每块区域中的像素点进行阈值计算,每块区域得出一个阈值,然后分块进行二值化9,10,11。使用局部阈值法时,每一块区域的二值化过程是独立进行的。本文使用的是中间值法,先对区域中所有像素点进行遍历,找出最大的灰度值Graymax和最小的灰度值Graymin,然后求出最大灰度值与最小灰度值的中间值Graymid,将该

32、灰度值作为区域的阈值,即 T = Graymid = (Graymax + Graymin) / 2。 QR码有三个形状相同的位置探测图形,在没有旋转的情况下,这三个位置探测图形分别位于QR码符号的左上角、右上角和左下角见图2-1。三个位置探测图形共同组成图像图形。图2-1 QR码的位置探测图形如图2-2所示,每个位置探测图形可以看作是由3个重叠的同心的正方形组成,它们分别为7*7个深色模块、5*5个浅模块和3*3个深色模块。位置探测图形的模块宽度比为1:1:3:1:1。图2-2 位置探测图形这种1:1:3:1:1的宽度比例特征在图像的其他位置出现的可能性很小,故可以将此作为位置探测图形的扫描

33、特征。基于此特征,当一条直线上称为扫描线被黑白相间地截为1:1:3:1:1时,可以认为该直线穿过了位置探测图形。另外,该扫描特征不受图像倾斜的影响。比照图2-3中的两个QR码符号可以发现,无论QR码符号是否倾斜,都符合1:1:3:1:1的扫描特征。图2-3 位置探测图形的扫描特征2.6 常规扫描方法GB/T 18284-2000中推荐的扫描方法如下:在X方向进行依次扫描。固定Y坐标的取值,在X方向上画一条水平直线称为扫描线进行扫描。当扫描线被黑白相间地截为1:1:3:1:1时,可以认为该直线穿过了位置探测图形。在实际判定时,比例系数允许0.5的误差,即比例系数为1的,允许范围为0.51.5,比

34、例系数为3的,允许范围为2.53.5。当寻找到有直线穿过位置探测图形时,记录下位置探测图形的外边缘相遇的第一点和最后一点A和B如图2-4。由A、B两点为端点的线段称为扫描线段。将扫描线段保存下来。图2-4 扫描线段用相同的方法,完成图像中所有水平方向的扫描。在Y方向,使用相同的方法,进行垂直扫描,同样保存扫描得到的扫描线段。2.7 扫描线段分类扫描步骤获得的扫描线段是没有经过分类的,也就是对于特定的一条扫描线段,无法获知其具体对应于三个位置探测图形中的哪一个。在计算位置探测图形中心坐标之前,要将所有的扫描线段按照位置进行归类。一般采用距离邻域法进行扫描线段的分类。距离邻域法的思想是:给定一个距

35、离阈值dT。,当两条扫描线段的中点的距离小于dT。时,认为两条扫描线段在同一个邻域内,将它们分为一类,反之那么归为不同的类别。距离邻域法的具体步骤如下:给定一个距离阈值dT。,dT。要求满足以下条件:位于同一个位置探测图形之中的任意两点之间的距离小于dT。,位于不同位置探测图形中的任意两点之间的距离大于dT新建一个类别,将第1条扫描线段归入其中。对于第i条扫描线段li2in,做以下操作:求出li的中点Ci。分别计算Ci与在已存在的每一个类别中的第一条扫描线段的中点的距离d,假设ddT,那么直接将li参加相应类别中。假设无法找到li可以参加的类别,那么新建一个类别,将li参加其中。将所有类别按照

36、包含扫描线段的数目进行从大到小排序,保存前3个类别即包含扫描线段数目最多的3个类别,其余的视为误判得到的扫描线段在位置探测图形以外的位置得到的符合扫描特征的扫描线段,直接舍去。距离邻域法结束后得到的分好3个类别的扫描线段就分别对应了3个位置探测图形。距离邻域法的关键就是距离阈值的选取。一般对于不同大小的QR码图像,要使用不同的距离阈值。其中GB/T 18284-2000中推荐的位置探测图形中心坐标的计算方法如下:如图2-5,在X方向的扫描线段中找出最外侧的两条,分别取中点,记为A、B。由A、B两点连一条直线。图2-5 对X方向扫描线段的处理如图2-6,在Y方向的扫描线段中找出最外侧的两条,分别

37、取中点,记为C、D。由C、D两点连一条直线。图2-6对Y方向扫描线段的处理如图2-7,计算直线AB与直线CD的交点O,即为位置探测图形中心点。图2-7 计算位置探测图形中心点如图2-8,将QR码符号的左上、右上位置探测图形的中心分别记为A、B。连接A、B。直线AB与水平线的夹角即为QR码符号的旋转角度。图2-8 QR码符号的旋转角度的计算对于该旋转角度,求出其正弦值sin与余弦值cos即可。具体计算公式如下: 2-3 2-4其中,2-5在GB/T 18284-2000中定义的位置探测图形边长的计算是基于无旋转图像的,在无旋转图像中,水平扫描线段的长度即为位置探测图形的边长。如图2-9,水平扫描

38、线段AB的长度即为位置探测图形的边长X。图2-9 位置探测图形的边长对于经过旋转的QR码图像,先通过插值算法生成旋正的QR码图像,然后按照如上所述的方法进行位置探测图形边长的计算3 QR码译码过程 RS 码在QR 码解码中的应用解码器将QR码符号数据按照QR码标准进行解码,从而得到存储在条码图形中的用户信息数据,根据国标GB/T182842000?快速响应矩阵码?解码的流程如下:1定位并获取符号图像,深色和浅色模块识别为有“0与“1组成的阵列。2识读格式信息按需要去除掩膜图形并完成对格式信息模块的纠错,识别纠错等级与掩膜图形参考。3识别版本信息,确定符号的版本。4用掩膜图形掩膜图形参考已经从格

39、式信息中得到对编码区域的位图进行异或处理,消除掩码。5根据模块排列规那么,识读符号字符,回复信息的数据与纠错码字。6用与纠错等级信息相对应的纠错码字检测错误,那么进行纠错。7根据模式指示符和指示符将数据码字划分成多个局部。8最后,按照使用的模式进行译码,得出数据字符并输出结果。3.2 QR Code 码译码中几个关键问题1有关有限域中的运算QR 码的多项式算法用位的模2 算法和字节的模100011101 算法。这是加罗瓦域2的8次方以100011101 表示主模块多项式:x8+x4+x3+x2+1。故译码始终在GF(28)中进行,超过GF(28)域的项必须通过mod(28)中。RS 码的译码运

40、算属于有限域上的运算。对于加法和减法,将符号以二进制的形式表示,两个符号之间的加法和减法通过异或运算XOR来实现。对于乘法,将符号以加罗瓦域中的幂的形式表示,符号间的乘法通过幂之间的加法来完成,运算结果在模255 后通过查表转换成二进制的形式存储,有限域的除法可以转化成乘法来做。2关于在纠错译码中伴随多项式的计算设 发送多项式:C(x)=Cn-1xn-1+Cn-2xn-2+ + C1x1 +C0 3-1 接受多项式:R(x)=rn-1xn-1 +rn-2xn-2+ +r1x1 +r0 3-2 信道多项式:E(x)=en-1xn-1 +en-2xn-2+ +e1x1 +r0 3-3码的纠错能力为

41、,信道产生的实际错误个数为et。因此信道错误图样为:E(x)=Y1xl1 +Y2xl2+ +Yexle +Y0,其中l1 l2 le 3-4并且满足:R(x)=C(x)+E(x); 3-5 因为任意一个码多项式C(x)都是生成多项式g(x)的倍式,而(j=0,1,2t-1)是g(x)的根,所以(j=0,1,2t-1)也是C(x)的根,即C()=0(j=0,1,2t-1) 3-6 监督矩阵: (0) n-1 (0) n-2 (0) 1 (1) n-1 (1) n-2 (1) 1 H= (t) n-1 (t) n-2 (t) 1 , 那么有:HC T=0。 3-7 (2t-1) n-1 (2t-1

42、) n-2 (2t-1) 1伴随式:S0S1S T=HR T = ;即R()= Sj(j=1,12t-1); 3-8S2t-13确定错误位置值求出错误多项式后,错误位置值即是错误多项式的根,用穷举法求错误位置值,即依次将1,a,an-1代入错误多项式中,便可求出根。注:用穷举法求错误位置的代数运算比拟烦琐,也可采用钱氏搜索法。4计算错误位置值k0=0=1;k1=j+k(j-1); j=1,2,,e-1 3-9 3-10由式9和式10求出错误位置值,结果即为第K个错误对应的错误值。5纠错 将求得的错误值的补数追加到每一个错误位置上来实现纠错。4系统算法的实现本文使用Windows C# 来开发Q

43、R识别程序,通过Microsoft 的 .NET 平台,能很方便地实现移植。 为了便于调试,本文设计了一个QR编码的方法,用于生成QR图像,再把生成的图像用识别器进行识别。界面如下:图4-1 系统界面其中实现QR编译的类为QRCodeEncoder ,主要的属性有:QRCodeEncodeMode、QRCodeScale、QRCodeVersion、QRCodeErrorCorrect,编译方法声明为 Bitmap Encode( String , Encoding ),设置好QRCodeEncoder的属性后,再调用QRCodeEncoder. Encode( 需编码的字符串 ,字符串的字符

44、集 )就可以得到字符串对应的QR码,结果是一个Bitmap类,可以保存为图片。:图4-2 信息保存在的图像QR码的识别处理,封装在QRCodeDecoder类中,该类有一个解码方法声明为 String decode(QRCodeImage) ,其中QRCodeImage为需要识别的图片,返值为识别后的字符串,要使用QRCodeImage,可以在生成QRCodeImage对象的时候,传一个Bitmap对象。译码界面如下:图4-3 图像的译码5 实验结果与分析本文对QR码的码制原理,编解码过程和条码图像识别技术进行了研究和实现,论述了条码的各种码制与应用现状等根本知识,组织实施了从图像处理到解码输

45、出的整个过程.本文取得的成果有:(1)研究条码图像的识别技术。运用图像校正、二值化、去噪、边缘检测、Hough变换、图像旋转等多种图像处理方法实现条码图像的预处理、条码定位、条码分割和数据提取。这为后面实现正确译码打下根底。(2)研究QR码的解码和Reed一Solomon纠错算法在QR码中的应用,得到条码所表示的文本信息。(3) 最终,根据设计的算法编写代码,使用编译后的程序可以在电脑上快速对QR码进行识别和译码。本文已详细分析了图像的识别技术、纠错原理等,在此根底上,根据新的应用需求也可以进行其它条码的识别。但由于各方面的原因,仍然存在着许多问题有待于进一步研究,比方识别算法的单一性问题以及

46、纠错问题等,在稳定性和高效性也有进一步改良的可能。希望在后续工作中进一步改良和完善系统的功能。6 总结与展望二维条码由于具有高密度、大容量、纠错能力强、可表示文字图像等信息、可加密等优点,己广泛应用于传统的工业自动化生产线、医疗效劳、收费系统、商品管理系统及信息查询系统等各个领域。而且随着当今信息技术的开展和网络的普及,二维条码将有更大的商机和更广阔的开展前景。在3G技术兴旺的日韩等国家,QR码早已广泛应用与 网络出了可以用来扫描名片,管理个人联络 能力之外,还可以拿来网络购物、实现 的自动上网、还可以实现结账时的数据处理,又或者是以QR码代替入场券等等。二维条码作为载体,还可以结合生物识别技

47、术,在个人身份防伪上发挥重要作用。生物特征识别技术包括职位、虹膜、人脸、掌纹、耳形等识别技术。二维条码的广泛应用必将带来条码识别技术的新要求和新问题。比方需要在图像采集失真,图像背景更复杂,图像变形严重等情况下还能很好的识别并解码二维条码。这对研究二维条码技术的广阔科研人员既是挑战也是动力。参考文献目录:1李弼程,彭天强,彭波.智能图像处理技术M.北京:电子工业出版社,20042于殿涨.图像检测与处理技术M.西安:西安电子科技大学出版社,20063杨淑莹.VC+十图像处理程序设计M.北京:北方交通大学出版社,20034孙家广.计算机图形学M.北京:清华大学出版社,20025何斌,马天予,王运坚

48、.VisualC+数字图象处理M.北京:人民邮电出版社,20026中国物品编码中心.条码技术与应用M.北京:清华大学出版社,20047张成海,郭卫华. QRCode一种新型的矩阵符号M.北京:中国标准出版社,2000。8中国物品编码中心.QRCode二维码技术与应用M.北京:中国标准出版社,2002。9王新梅.纠错码与过失控制.北京:人民邮电出版社M,1989.10朱诗兵,刘作学,李迎春.信息论与编码理论M.北京:科学出版社,2005的业务研究.北京:研究与设计,2006图像方式的二维条码译码研究M.北京:北京工业大学,200114董强.QR码识别技术及在 中的应用M.山东:青岛大学,200615沈庭芝,方子文.数字图像处理及模式识别M.北京:北京理工大学出版社,200516张鸣瑞,邹世开.编码理论M.北京:北京航空航天大学出版社,199017杨秋英,陈立潮.ORCode码在地理系统中的应用J.电脑开发与应用,2003.16(10):12-1318杨平,杨季.二维条码及其应用J.河南科技,2006.18(18) 201陈兵旗,孙明等.VisuaIC+实用图像处理M.北京:清华大学出版社,200421陈传波.数字图像处理M.北京:机械工业出版社,200424郑河荣,熊丽荣等.二维条码图像矫正J.浙江工业大学学报,2003.25赵启柱.浅谈普通税务发票的二维条

温馨提示

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

评论

0/150

提交评论