欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    二维码识别.doc

    • 资源ID:548623       资源大小:191.50KB        全文页数:10页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    二维码识别.doc

    |二维码的识别一、目的与要求本课题主要研究二维条码的识别程序及译码方法,使用 C 语言来开发二维码的识别程序。查找并阅读相关资料,了解基本的内容,利用需求分析文档,对整个系统有个初步的架构。搜寻实验用的文件文档集和研究过程中用到的各种工具软件。根据已有的资料并借助面向对象的程序设计思想对系统各模块进行分析、建模、设计。使用 C 语言来开发二维码识别程序。二、设计的内容本文主要来完成二维码识别和译码程序,运用图像校正、二值化、边缘检测等各种图像处理方法实现条码的预处理,并进行二维码码的解码,结合图像处理技术,完成了基于图像处理的二维码快速识别的解码系统。三、总体方案设计本设计的主要任务是在研究二维条码的码制标准的基础上实现对二维码的告诉采集与识别,详细分析二维码的基本特点、符号结构;在条码图像识别方面,研究了对采集的条码图像进行预处理的方法,即:对图像进行整形。运用图像校正、二值化、去噪、边缘检测、Hough 变换、图像旋转等多种图像处理方法实现条码图像的预处理、条码定位、条码分割和数据提取。对预处理后的条码图像进行译码。四、各个功能模块的主要实现程序(一) 二维码的识别流程灰度化 去噪 二值化 寻找探测图形确定旋转角度定位旋转获得数据首先,对采集的彩色图像进行灰度化,以提高后继的运行速度。其次,去除噪声。采用十字形中值滤波去除噪音对二码图像的干扰主要是盐粒噪声。|再次,利用灰度直方图工具,使用迭代法选取适当的阈值,对二维码进行二值化处理,使其变为白底黑色条码。最后,确定二维码的位置探测图形,对条码进行定位,旋转至水平后,获得条码数据,以便下一步进行解码。(二)图像的灰度化灰度化的常用方法有两种:1.Gray(i,j) = 0.299 * R(i,j) + 0.587 * G(i,j) + 0.114 * B(i,j)2.Gray(i,j) = 30 * R(i,j) + 59 * G(i,j) + 11 * B(i,j)/100本设计进行灰度化的实现函数如下:internal virtual void imageToGrayScale(int image)for (int y = 0; y > 16 int g = imagexy >> 8 int b = imagexy int m = (r * 30 + g * 59 + b * 11) / 100;imagexy = m;(三)图像的降噪处理降噪的方法很多,选用的是中值滤波法,因为中值滤波是一种非线性平滑滤波器。中值滤波在降低噪声的同时,又可以保持图像的细节,使用中值滤波时能较好保护图像的边缘。中值滤波的滤波窗口的形状和尺寸对滤波效果有一定的影响。常用的中值滤波窗口形状一般为正方形、十字形等。就一般经验而言,对于有缓慢变化的较长轮廓线物体的图像,适合使用正方形窗口;对于包含尖角物体的图像,适合使用十字形窗口。窗口大小一般小于图像中最小有效物尺寸为宜。|中值滤波的函数实现如下:internal virtual bool applyMedianFilter(bool image, int threshold)bool filteredMatrix = new boolimage.Length;for (int i = 0; i threshold)filteredMatrixxy = POINT_DARK;return filteredMatrix;|(四)图像的二值化处理二值化就是将图像转换成只有黑或白两种颜色,二值的方法也有很多,一种较为常用的是阈值法,取一个合适的阈值,使图像中每一个像素点应该属于目标还是背景区域,从而产生相应的二值图像。设原始图像为 f(x,y),按照一定的准则在该图像中找到特征阈值 T,将图像分割为两部分,分割后的图像为: Tyxfbyxg),( ),(10(2-1)其中,b 0为黑,b 1为白。在 QR 码的图像二值化中,一般取 b0=1,b 1=0,也就是:Tyxfyxg),( ),((2-2)根据确定阈值的取样范围来分,二值化的方法可以分为全局阈值法与局部阈值法。全局阈值法对整幅图像的所有像素点进行取样,通过相关算法计算出一个阈值,进行二值化。而局部阈值法(又称为自适应阈值法)是将整幅图像划分成若干区域(通常是均匀划分) ,对每块区域中的像素点进行阈值计算,每块区域得出一个阈值,然后分块进行二值化9,10,11。使用局部阈值法时,每一块区域的二值化过程是独立进行的。本文使用的是中间值法,先对区域中所有像素点进行遍历,找出最大的灰度值Graymax 和最小的灰度值 Graymin,然后求出最大灰度值与最小灰度值的中间值 Graymid,将该灰度值作为区域的阈值,即 T = Graymid = (Graymax + Graymin) / 2。(五)图形的定位 QR 码有三个形状相同的位置探测图形,在没有旋转的情况下,这三个位置探测图形分别位于 QR 码符号的左上角、右上角和左下角。三个位置探测图形共同组成图像图形。QR 码的位置探测图形每个位置探测图形可以看作是由 3 个重叠的同心的正方形组成,它们分别为 7*7 个深|色模块、5*5 个浅模块和 3*3 个深色模块。位置探测图形的模块宽度比为 1:1:3:1:1。位置探测图形这种 1:1:3:1:1 的宽度比例特征在图像的其他位置出现的可能性很小,故可以将此作为位置探测图形的扫描特征。基于此特征,当一条直线上(称为扫描线)被黑白相间地截为 1:1:3:1:1 时,可以认为该直线穿过了位置探测图形。另外,该扫描特征不受图像倾斜的影响。对比中的两个 QR 码符号可以发现,无论 QR码符号是否倾斜,都符合 1:1:3:1:1 的扫描特征。(六)常规扫描方法GB/T 18284-2000 中推荐的扫描方法如下:1.在 X 方向进行依次扫描。(1) 固定 Y 坐标的取值,在 X 方向上画一条水平直线(称为扫描线)进行扫描。当扫描线被黑白相间地截为 1:1:3:1:1 时,可以认为该直线穿过了位置探测图形。在实际判定时,比例系数允许 0.5 的误差,即比例系数为1 的,允许范围为 0.51.5,比例系数为 3 的,允许范围为 2.53.5。(2) 当寻找到有直线穿过位置探测图形时,记录下位置探测图形的外边缘相遇的第一点和最后一点 A 和 B。由 A、B 两点为端点的线段称为扫描线段。将扫描线段保存下来。|扫描线段用相同的方法,完成图像中所有水平方向的扫描。2.在 Y 方向,使用相同的方法,进行垂直扫描,同样保存扫描得到的扫描线段。扫描线段分类扫描步骤获得的扫描线段是没有经过分类的,也就是对于特定的一条扫描线段,无法获知其具体对应于三个位置探测图形中的哪一个。在计算位置探测图形中心坐标之前,要将所有的扫描线段按照位置进行归类。一般采用距离邻域法进行扫描线段的分类。距离邻域法的思想是:给定一个距离阈值 dT。 ,当两条扫描线段的中点的距离小于dT。时,认为两条扫描线段在同一个邻域内,将它们分为一类,反之则归为不同的类别。距离邻域法的具体步骤如下:(1) 给定一个距离阈值 dT。 ,d T。要求满足以下条件:位于同一个位置探测图形之中的任意两点之间的距离小于 dT。 ,位于不同位置探测图形中的任意两点之间的距离大于 dT(2) 新建一个类别,将第 1 条扫描线段归入其中。(3) 对于第 i 条扫描线段 li(2in) ,做以下操作:a) 求出 li的中点 Ci。b) 分别计算 Ci与在已存在的每一个类别中的第一条扫描线段的中点的距离d,若 dd T,则直接将 li加入相应类别中。c) 若无法找到 li可以加入的类别,则新建一个类别,将 li加入其中。(4) 将所有类别按照包含扫描线段的数目进行从大到小排序,保存前 3 个类别(即包含扫描线段数目最多的 3 个类别) ,其余的视为误判得到的扫描线段(在位置探测图形以外的位置得到的符合扫描特征的扫描线段) ,直接舍去。距离邻域法结束后得到的分好 3 个类别的扫描线段就分别对应了 3 个位置探测图形。距离邻域法的关键就是距离阈值的选取。一般对于不同大小的 QR 码图像,要使用不同的距离阈值。其中 GB/T 18284-2000 中推荐的位置探测图形中心坐标的计算方法如下:(1) 在 X 方向的扫描线段中找出最外侧的两条,分别取中点,记为 A、B。由 A、B两点连一条直线。|对 X 方向扫描线段的处理(2) 在 Y 方向的扫描线段中找出最外侧的两条,分别取中点,记为 C、D。由 C、D两点连一条直线。对 Y 方向扫描线段的处理(3) 计算直线 AB 与直线 CD 的交点 O,即为位置探测图形中心点。将 QR 码符号的左上、右上位置探测图形的中心分别记为 A、B。连接 A、B。直线 AB 与水平线的夹角 即为 QR 码符号的旋转角度。对于该旋转角度 ,求出其正弦值 sin 与余弦值 cos 即可。具体计算公式如下:ABysin(2-3)|ABxcos (2-4)其中, 22BABAyx(2-5)在 GB/T 18284-2000 中定义的位置探测图形边长的计算是基于无旋转图像的,在无旋转图像中,水平扫描线段的长度即为位置探测图形的边长。水平扫描线段 AB 的长度即为位置探测图形的边长 X。位置探测图形的边长对于经过旋转的 QR 码图像,先通过插值算法生成旋正的 QR 码图像,然后按照如上所述的方法进行位置探测图形边长的计算五、测试和调试为了便于调试,本文设计了一个 QR 编码的方法,用于生成 QR 图像,再把生成的图像用识别器进行识别。界面如下:|其中实现 QR 编译的类为 QRCodeEncoder ,主要的属性有:QRCodeEncodeMode、QRCodeScale、QRCodeVersion、QRCodeErrorCorrect,编译方法声明为 Bitmap Encode( String , Encoding ),设置好 QRCodeEncoder 的属性后,再调用QRCodeEncoder. Encode( 需编码的字符串 ,字符串的字符集 )就可以得到字符串对应的QR 码,结果是一个 Bitmap 类,可以保存为图片。:QR 码的识别处理,封装在 QRCodeDecoder 类中,该类有一个解码方法声明为 String decode(QRCodeImage) ,其中 QRCodeImage 为需要识别的图片,返值为识别后的字符串,要使用 QRCodeImage,可以在生成 QRCodeImage 对象的时候,传一个 Bitmap 对象。译码界面如下:|六、课程设计总结与体会本文已详细分析了图像的识别技术,在此基础上,根据新的应用需求也可以进行其它条码的识别。研究二维码图像的识别技术。运用图像校正、二值化、去噪、边缘检测、Hough 变换、图像旋转等多种图像处理方法实现条码图像的预处理、条码定位、条码分割和数据提取。但由于各方面的原因,仍然存在着许多问题有待于进一步研究,比如识别算法的单一性问题以及纠错问题等,在稳定性和高效性也有进一步改进的可能。希望在后续工作中进一步改进和完善系统的功能。二维码由于具有高密度、大容量、纠错能力强、可表示文字图像等信息、可加密等优点,己广泛应用于传统的工业自动化生产线、医疗服务、收费系统、商品管理系统及信息查询系统等各个领域。而且随着当今信息技术的发展和网络的普及,二维条码将有更大的商机和更广阔的发展前景。七、参考文献1李弼程,彭天强,彭波.智能图像处理技术M.北京:电子工业出版社,20042于殿涨.图像检测与处理技术M.西安:西安电子科技大学出版社,20063杨淑莹.VC+十图像处理程序设计M.北京:北方交通大学出版社,20034孙家广.计算机图形学M.北京:清华大学出版社,20025何斌,马天予,王运坚.VisualC+数字图象处理M.北京:人民邮电出版社,20026中国物品编码中心.条码技术与应用M.北京:清华大学出版社,20047张成海,郭卫华. QRCode一种新型的矩阵符号M.北京:中国标准出版社,2000。8中国物品编码中心.QRCode二维码技术与应用M.北京:中国标准出版社,2002。9王新梅.纠错码与差错控制.北京:人民邮电出版社M,1989.10朱诗兵,刘作学,李迎春.信息论与编码理论M.北京:科学出版社,200511刘宏伟,严妍.快速响应码的识别和解码M.北京:计算机工程与设计,2005.6

    注意事项

    本文(二维码识别.doc)为本站会员(小**)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开