Android物联网应用程序开发项目七 媒体动画的实现_任务2:购物二维码的识别.pptVIP

  • 0
  • 0
  • 约4.77千字
  • 约 25页
  • 2020-02-05 发布于辽宁
  • 举报

Android物联网应用程序开发项目七 媒体动画的实现_任务2:购物二维码的识别.ppt

* 辽宁轻工职业学院 任务实现 知识准备 任务目标 目 录 辽宁轻工职业学院 任务2 购物二维码的识别 项目7 媒体动画的实现 辽宁轻工职业学院 【任务目标】 1. 掌握二维码的相关概念 2. 掌握二维码识别原理 3. 掌握相机API的使用 创建打开相机的界面,为扫描二维码做准备。点击“打开相机”后,出现扫描二维码的界面等待扫描二维码(界面如下图)。 1. 二维码简介 辽宁轻工职业学院 【知识准备】 1. 二维码的概念 二维码(Two-dimensional code)是用某种特定的几何图形按一定规律在平面(二维方向)分布的黑白相间的图形记录数据符号信息的方式。现实生活中,二维码普遍存在我们的周围,例如:产品防伪/溯源、广告推送、网站链接、数据下载、商品交易、定位/导航、电子凭证、车辆管理、信息传递、名片交流、wifi共享等。 1. 二维码简介 辽宁轻工职业学院 【知识准备】 在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理。在许多种类的二维条码中,常用的码制有:Data Matrix,MaxiCode, Aztec,QR Code, Vericode,PDF417,Ultracode, Code 49, Code 16K 等。每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能及处理图形旋转变化等特点。二维码是一种比一维码更高级的条码格式。一维码只能在一个方向(一般是水平方向)上表达信息,而二维码在水平和垂直方向都可以存储信息。一维码只能由数字和字母组成,而二维码能存储汉字、数字和图片等信息,因此二维码的应用领域要广得多。 1. 二维码简介 辽宁轻工职业学院 【知识准备】 (2)常用的几种二维条码 1. 二维码简介 辽宁轻工职业学院 【知识准备】 二维码可以大致分为矩阵式和行排式两种: 1)矩阵式 在一个矩形空间通过黑、白像素在矩阵中的不同分布进行编码。 在矩阵元素位置上,出现方点、圆点或其他形状点表示二进制“1”,不出现点表示二进制的“0”,点的排列组合确定了矩阵式二维码所代表的意义。 2)行排式 行排式二维码(又称:堆积式二维码或层排式二维码),其编码原理是建立在一维码基础之上,按需要堆积成二行或多行。 1. 二维码简介 辽宁轻工职业学院 【知识准备】 (3)二维码的特点 1)高密度编码,信息容量大。 2)编码范围广。 3)容错能力强,具有纠错功能。 4)译码可靠性高。 5)可引入加密措施。 6)成本低,易制作,持久耐用。 7)条码符号形状、尺寸大小比例可变。 8)二维条码可以使用激光或CCD阅读器识读。 2. 二维码识别 辽宁轻工职业学院 【知识准备】 通过图像的采集设备,我们得到含有条码的图像,此后主要经过条码定位、分割和解码三个步骤实现条码的识别(以矩阵式条码为例)。 (1)条码的定位 条码的定位是实现条码识别的基础,在一幅图像中如果找不到待识别的条码,后面的工作就无法完成。 实现条码的定位采用以下步骤: 1)利用点运算的阈值理论将采集到的图像变为二值图像,即对图像进行二值化处理。 2)得到二值化图像后,对其进行膨胀运算。 3)对膨胀后的图像进行边缘检测得到条码区域的轮廓。 2. 二维码识别 辽宁轻工职业学院 【知识准备】 下面是经过上述处理后得到的一系列图像。 2. 二维码识别 辽宁轻工职业学院 【知识准备】 对图像进行二值化处理按下式进行: 2. 二维码识别 辽宁轻工职业学院 【知识准备】 其中,f(x,y)是点(x,y)处像素的灰度值,T为阈值(自适应门限)。 上面的步骤2中用到了数学形态学中的膨胀变换。A用B来膨胀定义为: 2. 二维码识别 辽宁轻工职业学院 【知识准备】 对二值化图像进行的膨胀运算就是通过上式进行的。 找到条码区域后,我们还要进一步区分到底是哪种矩阵式条码。下面图形是几种常见的矩阵式条码: a.位于左上角、左下角、右上角的三个定位图形。 b.位于符号中央的三个等间距同心圆环(或称公牛眼)定位图形。 c.位于左边和下边的两条垂直的实线段。 2. 二维码识别 辽宁轻工职业学院 【知识准备】 (2)条码的分割 边缘检测后条码区域的边界不是很完整,所以需要进一步的修正边界,然后分割出一个完整的条码区域。 首先采用区域增长的方法对符号进行分割,以此修正条码边界。其基本思想是从符号内的一个小区域(种子)开始,通过区域增长来修正条码边界,把符号内的所有点都包括在这个边界内。然后通过凸壳计算准确分割出整个符号。之后区域增长和凸壳计算交替进行,

文档评论(0)

1亿VIP精品文档

相关文档