二维码制作及识别.doc_第1页
二维码制作及识别.doc_第2页
二维码制作及识别.doc_第3页
二维码制作及识别.doc_第4页
二维码制作及识别.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

课程设计报告质量评价表课程设计报告质量评价表 选题(10%)需求分析(10%)系统设计(30%)编码(40%)测试(10%)总分 课程设计答辩记录及评价表课程设计答辩记录及评价表 学生 讲述情况 教师主要 提问记录 学生回答 问题情况 评价参考标准 评 分 总分 评分项目 分 值 优良中及格差 选题的价值与意义 1098764 文献综述 1098764 研究水平与设计能力 201917151310 课程设计说明书(论 文)撰写质量 201917151310 学术水平与创新 1098764 答辩评分 答辩效果 302825221915 是否同意论文(设计)通过答辩同意 不同意 答辩小组成员签名 答辩小组组长签名: 年 月 日 课程设计成绩评定表课程设计成绩评定表 评分项目评分比例分数 课程设计总 分 平时成绩 20% 课程设计报告 30% 成绩汇总 答辩小组评分 50% 软件综合设计 课程设计成绩评价表 成成 都都 信信 息息 工工 程程 学学 院院 课课 程程 设设 计计 题目:二维码制作及识别题目:二维码制作及识别 作者姓名:作者姓名:邓邓 涛涛 班班 级:级:网络网络 093093 班班 学学 号:号: 20091210972009121097 指指导导教教师师:方方 睿睿 日日 期:期: 20112011 年年 1111 月月 0303 日日 作者签名: 封面 二维码制作及识别软件的设计与实现二维码制作及识别软件的设计与实现 摘摘 要要 随着计算机网络技术的飞速发展,数据信息越来越需要一种更方便快捷的 传输途径,二维码的出现,使得在人们的日常生活中的数据交互变得跟方便易 用。例如当前各种手机的软件下载不需要在手机打开浏览器,输入长而繁琐地 址来做下来了,只需要用手机将一个地方提供下载服务方哪里拍下提供给手机 用户快速下载的二维码图片;即可快速方便的实现在手机上快速下载软件的目 的。 本程序从当前用户需求出发,通过实现输入文字生成二维码 QR 二维码的编 码和识别、解码算法。为用户实现输入一段字符,可以生成二维码;选取一个 二维码图片,可以还原成文字信息。最后,通过测试与分析,说明该软件运行 稳定、可靠,具有一定的实用价值。 关键词关键词:二维码;QRCode 目目 录录 1 引言引言1 1.1 课题背景.1 1.2 国内外现状.1 1.3 本课题研究的迫切性即作用.2 2程序设计程序设计.2 2.1软件功能需求.2 2.2开发环境.2 2.3运行环境.2 2.4 软件结构设计.3 3软件相关算法软件相关算法.4 3.1二维码图片生成算法.4 3.2二维码图片解析算法.5 4软件界面软件界面.6 4.1 软件主界面.6 4.2 制作二维码界面.7 4.3 二维码解析以及解析结果界面.7 结结 论论8 参考资料参考资料8 第 1 页 共 12 页 1 引言引言 1.1 课题背景课题背景 二维码是二维条形码的一种,可以将网址、文字、照片等信息通过相应的 编码算法编译成为一个方块形条码图案,手机用户可以通过摄像头和解码软件 将相关信息重新解码并查看内容。二维条码/二维码(dimensional bar code)是 用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图 形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的 “0” 、 “1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字 数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理: 它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定 的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、 及处理图形旋转变化等特点。在许多种类的二维条码中,常用的码制有:Data Matrix, Maxi Code, Aztec, QR Code, Vericode, PDF417, Ultracode, Code 49, Code 16K 等,QR 码是 1994 年由日本 Denso-Wave 公司发明。QR 来自英文Quick Response的缩写,即快速反应的意思,源自发明者希望 QR 码可让其内容快 速被解码。QR 码最常见于日本、韩国,并为目前日本最流行的二维空间条码。 1.2 国内外现状国内外现状 国内二维码的应用主要出现在电子凭证、防伪溯源、平面杂志以及数字出 版等领域,技术服务方面可由易拍酷二维码服务平台提供。应用案例非常广泛, 各大会议活动中不断出现二维码签到,杭州,成都、北京公交站牌上的二维码 指引市民方便出行;二维码火车票、飞机票等均属于二维码电子凭证类别。 日本和韩国是手机二维码应用最为普及的国度。在韩国,二维码有着一个 有趣的称谓“Magic Code”(魔码),颇有无处不在无所不能的意味。而日本的二 维码应用更为广泛,名片、户外广告、杂志、产品包装上,到处都印着二维码, 人们可以通过二维码获得非常多的应用。早在 2005 年,亚马逊(Amazon)就注意 到了日本市场的风向,这家电子商务巨头为自己打造的潮流是鼓励用户在购买 其网上服装的同时,下载一个标识着该商品的二维码并印贴在衣服上,如果旁 人对这身装束感兴趣,可以用手机扫描上网,直达亚马逊的商品页面,而做了 中介推销的这位顾客,则可以从亚马逊获得一定的佣金。 第 2 页 共 12 页 1.3 本课题研究的本课题研究的迫切性即作用迫切性即作用 现在的各种移动终端的不断普及,不管是智能手机还是现在快速发展的平 板电脑;这都意味着二维码的应用将会越来越普遍,电影院促销可以采用发送 二维码给用户,用户凭借二维码来作为自己获取促销优惠的凭证;二维码的便 捷性使得二维码在我们日常生活的使用范围会越来越普遍。 二维码与一维码相比最大的优势就是容量大,携带的信息丰富。二维码所 带的信息是一维码的几十倍,能够将一些信息如生产日期、生产厂家放在条码 中,更有利于厂家防伪。另外,二维码还有纠错能力,二维码撕掉一半或者被 污染了,所带的信息还可以还原,而一维码就做不到这一点。 本课题通过对二维码生成和解析算法的研究,制作一个小巧的软件提供给 用户使用,使用户能够快速的制作二维码图片以及获取二维码所包含的信息。 2 2 程序设计程序设计 2.1 软件功能需求软件功能需求 软件应该实现用户输入一段字符,可以生成二维码;选取一个二维码图片,可以还原 成文字信息。 2.2 开发环境开发环境 操作系统:Windows 7 旗舰版 32 位 开发工具:Eclipse for RCP and RAP Developers 3.7 2.3 运行环境运行环境 windows xp 或以上基于 x86 的操作系统 第 3 页 共 12 页 2.4 软件结构设计软件结构设计 二二维维码码制制作作视视图图 二二维维码码解解析析视视图图 二二维维码码制制作作模模块块 二二维维码码解解析析模模块块 结结果果视视图图 软件分为了 2 层视图表示层,以及二维码数据处理层。视图表示层分:二维码制作 视图、二维码解析视图以及结果视图。 1、 二维码制作视图二维码制作视图:该视图提供给用户一个 GUI 界面,用户通过在界面中输入需要 制作成二维码的字符信息。用户点击制作二维码后,软件通过调用二维码制作模二维码制作模 块块,来完成二维码的生成。 2、 二维码解析视图二维码解析视图:该视图提供给用户 GUI 界面,用户可以通过界面完成对二维码 图片的选取,然后软件通过调用二维码解析模块二维码解析模块完成对二维码的解析工作。 3、 二维码制作模块二维码制作模块:该模块通过调用 Google 库 zxing 的 MultiFormatWriter 来实现将 用户输入文本制作成符合二维码规则的二进制矩阵,然后通过 MatrixToImageWriter 将二进制矩阵输出到生成的二维码图片中。 4、 二维码解析模块二维码解析模块:改模块通过使用 Google 库 zxing 的 MultiFormatReader 读取用户 选择的文件并解析,获取解析得到的二维码图片原文。然后返回解析结果给结果 视图。 5、 结果视图结果视图:该视图完成对用户处理结果的显示。 第 4 页 共 12 页 3 软件相关算法软件相关算法 3.1 二维码图片生成算法二维码图片生成算法 涉及的二维码信息编码模块本软件直接采用 Google 给我们提供的一个通用的二维码信 息编码库 ZXing-1.7.zip,该库给我们提供了各种二维码的生成以及解析方法。可以根据编 码选项对输入的字符串进行 QR Code 编码,得到编码后的 QR 符号,具体调用方法如下: public static boolean encodeQRCode(String text, String savePath, int imageWidth, int errorCorrectionLevel) Charset charset = Charset.forName(“UTF-8“); CharsetEncoder encoder = charset.newEncoder(); byte b = null; try / Convert a string to UTF-8 bytes in a ByteBuffer ByteBuffer bbuf = encoder.encode(CharBuffer.wrap(text); b = bbuf.array(); catch (CharacterCodingException e) System.out.println(e.getMessage(); try String data = new String(b, “UTF-8“); BitMatrix matrix = null; int h = imageWidth; int w = imageWidth; Writer writer = new MultiFormatWriter(); try Hashtable hints = new Hashtable(); / 指定编码格式 hints.put(EncodeHintType.CHARACTER_SET, “UTF-8“); / 指定纠错等级 hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.forBits(errorCorrectionLevel); / 指定编码格式 matrix = writer.encode(data, BarcodeFormat.QR_CODE, w, h, hints); catch (WriterException e) System.out.println(e.getMessage(); String ext = savePath .substring(savePath.lastIndexOf(“.“)+1); File file = new File(savePath); 第 5 页 共 12 页 try MatrixToImageWriter.writeToFile(matrix, ext, file); return true; catch (IOException e) return false; catch (UnsupportedEncodingException e) return false; 参数说明:text是需要生成二维码的文本字符串,savePath为生成的图片保存的位置。 对字符串“01234567”编码后得到返回值为: “021021111111101101101111111100000101010001000001101110100110101011 10110111010110000101110110111010011000101110110000010011000100000111 11111010101011111110000000011000000000001011011100100010010110001010 11010100101100100101111000111110010110100010010110001010000111111001 01001000000000000111001010000111111110100001101011010000010101111100 01011011101001010010000011011101010100100101101011101010110100101001 00000100101101011011111111101001100100010”然后通过MatrixToImageWriter 的writeToFile方法完成将二进制矩阵数据写入到文件最后生成二维码图片。 3.2 二维码图片解析算法二维码图片解析算法 public static String decodeQRCode(File file) BufferedImage image; try image = ImageIO.read(file); catch (IOException ioe) return ioe.toString(); if (image = null) return “非二维码图片“; LuminanceSource source = new BufferedImageLuminanceSource(image); BinaryBitmap bitmap =new BinaryBitmap(new HybridBinarizer(source); Result result; try result = new MultiFormatReader().decode(bitmap); catch (ReaderException re) return re.toString(); return result.getText(); 第 6 页 共 12 页 参数说明:file 为需要解析的二维码图片文件。方法说明,首先通过 ImageIO.read(File file) 方法将 file 读取到图片缓冲区中,然后将图片缓冲区数据通过调用 BufferedImag

温馨提示

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

评论

0/150

提交评论