• <tr id='aASBCm'><strong id='aASBCm'></strong><small id='aASBCm'></small><button id='aASBCm'></button><li id='aASBCm'><noscript id='aASBCm'><big id='aASBCm'></big><dt id='aASBCm'></dt></noscript></li></tr><ol id='aASBCm'><option id='aASBCm'><table id='aASBCm'><blockquote id='aASBCm'><tbody id='aASBCm'></tbody></blockquote></table></option></ol><u id='aASBCm'></u><kbd id='aASBCm'><kbd id='aASBCm'></kbd></kbd>

    <code id='aASBCm'><strong id='aASBCm'></strong></code>

    <fieldset id='aASBCm'></fieldset>
          <span id='aASBCm'></span>

              <ins id='aASBCm'></ins>
              <acronym id='aASBCm'><em id='aASBCm'></em><td id='aASBCm'><div id='aASBCm'></div></td></acronym><address id='aASBCm'><big id='aASBCm'><big id='aASBCm'></big><legend id='aASBCm'></legend></big></address>

              <i id='aASBCm'><div id='aASBCm'><ins id='aASBCm'></ins></div></i>
              <i id='aASBCm'></i>
            1. <dl id='aASBCm'></dl>
              1. <blockquote id='aASBCm'><q id='aASBCm'><noscript id='aASBCm'></noscript><dt id='aASBCm'></dt></q></blockquote><noframes id='aASBCm'><i id='aASBCm'></i>

                新闻中心

                EEPW百姓彩票 > 嵌♂入式系统 > 牛人业话 > 一文看懂码ぷ灵半导体CFW32C7UL系列≡产品应用(八):高端扫码设备∑应用(下)

                一文看懂码灵半▓导体CFW32C7UL系列产品应▽用(八):高端扫码设备〖应用(下)

                作者:码灵半△导体时间:2020-12-23来源:EEPW

                通过前两期对扫码设备及扫码引擎的介绍,相信大家对扫码硬件的组¤成有了较为深入了解。然而完整的扫码识读过程除了需要扫码硬件作为载体,还需要软件算法支撑才能发挥其功能和作用。本期我们以常见的二维码:QR码为例,对扫码识读过程中的软▆件处理环节进行简要介绍。

                本文引用地※址:/91sobn/article/202012/421500.htm

                一、图像预处理和解码是扫码识读的核心

                扫码设备工作时,通过图像传感器(摄像头模块)扫描采集↘图像,并通①过光电、模数等电路的转换,将〇采集的图像信息传送到处理器进行图像处理、解码,最终输出到显示设备。

                 

                图片.png

                ▲扫码设》备的工作原理

                在整个扫码识读过程中,图像处理Ψ 和解码是核心。以系列应用扫码设备为例,主控处理器芯片通过DVP或MIPI接口从图像传感器接收到采集的图像信息后,经过软件★算法的图像预处理和解码过程实现图

                像识别。

                 

                 

                图片.png

                ▲7UL系列作为高端扫码设备的主控处理器芯片

                二、图像预处理必要▲性及过程

                由于采集图像时的外部环境限制(如光线明暗ξ、图像远近、图像角度、图像平整度︾不同、图像洁净度、图像『完整度】〖、图像扭曲度等,图像传感器分辨率不同,光电转换电路不同等),导致采集到的图像往往并非解码所需的理想ζ 图像。要使采集到的图像可々被解码模块所识别,需对采集的原始图像进行必要的处理,这部分工作我们称之为图像预处理。解码前的图像预处理过程,是扫码设备软件处理中必不可少的环节。

                常见的解码图像预』处理流程包括图像灰度▆化、降噪滤波、二值化、图像定位、图像剪切、图像旋转、几何校正、网格建立等内容,这些过程均通过软○件算法来实现,且算法的优■劣决定着处理速度的快慢。通常在完成图像网格建立后,便可进行图像的识别与解码。

                图片.png

                ▲图像预处理流程图

                1、灰度化

                图像传感器采集到的图像多是彩色的,而在扫□码设备的解码应用中,实际只需亮度信息即可。对图像进行灰度化处理,将彩色图像变为灰度图像,不仅可节省存储空间也可提高后期的图像处理速「度。

                彩色转亮度的计算方式①常用 Y = 0.30R+ 0.59G+0.11B来实现,对于使用7UL系列处理器而言,其ISP模块在接收到图像数据后可通过硬件方式直接输出Y图格式,方便后续处理。

                图片.png

                ▲图像灰度化

                2、降噪滤波

                在用图像传感器和中间电路→获取图像信息的过程中不可避免的会引入噪声,噪声种类很多,如高斯噪声、脉冲噪声,均匀分布噪声等,针对不同噪声需↓做不同的去噪处理,常涉及空域滤波、频域滤波等。空载滤波常用中值①滤波、频域滤波常用高斯滤波,其中中值滤波的算法复杂度低,而且具有良好的去噪和边缘保持效果。

                3、二值化

                图像进行二值化时,充分考虑了图像№中可能存在光照不均的情况,如采用大津算法完成图像分割中阈值选取,达到不受图像亮度和对比度影响的效果,解决光照不均对图像的影响。

                图片.png

                ▲二值化前后对比

                4、定位剪切

                通过◆使用索贝尔竺算法进行边缘检测,对二⌒ 维条码区域进行初步定位,确定图码坐标位置,并对该区※进行剪切,去除大部分无关背景信息,提高后续流程中的处理速度和识别率。

                图片.png

                ▲像定位剪切

                5、图像旋转与几何校正

                若采集到的图像存在变形和角度不符合处理预期的▼情况,在程序中可根据寻像定位点之间距离和角度,通过计算获得图像位置,之后对图像进行必要的角度旋转,再通过检测判断畸变情况,选择适当算法进行几何校卐正即可得到规︾整的符合预处理的图样。

                图片.png

                ▲位置探测图形的结构

                上图所示为位置探々测图结构,通过QR码的右上、左上、左下三个角的位置,可以计算出该QR码的位置坐标。

                图片.png

                ▲图像翻转校正

                6、建立网格

                在获取规整图像◤区域后,参考寻像图中的宽度信息可对图像进行网格划分。网格建立后,便可对图形中包含的位信息进行获取,为后续根据编码协议提取有效信息和解码⊙做好准备。

                图片.png

                ▲对图像进行网格化

                三、图像解□码过程

                扫码得到的图像经过预处理的网格化后,便可对图像中的内容进行位信息的提取,我们仍以QR码为例进行说明。

                图片.png

                ▲QR码符号的结构

                上图所示为QR符号的←图形结构(摘自国标GBT-18284 20000)。从图中可以看出QR码信息所包含的内容块,通过对不同块的解析即可获取各部分的详细信息。

                下图所示为【QR码的基本译码步骤:

                图片.png

                ▲QR码译码步骤

                以上所述的图像预处理与译码过程→是扫码设备实现识读的共有流程,有较强的代表性。不同的设备厂商由于其技术水平不同,特别是在预处理环节,优秀的处理算法在同样↓硬件和外部环境条◆件下,其扫码解码过程所用时间可能仅为普通算法的几十分之一,可见软件处理算法对解码速度具有明显的影响。

                文中主〖要以QR码识读过程为例进行介绍,其它码制的处理过程『与其基本一致,并有相应的标准文件可进行参考。

                四、开源解码软件

                为方便业余爱好者学习解码方面软件,目前网上也有不少相关的开源算法,这里给大家推荐的一款是zbar开源⌒ 解码算法。zbar算法是现在网上针对条形码,二维码检测的开源算法,可识别大部分种类的一维码(条形码)和二维码,比如I25,CODE39,CODE128,QR等,可从http://zbar.sourceforge.net/获取相关源码包,并可方■便的移植到嵌入系统设备上。

                通过本期和前两期的介●绍,相信大家对系列在高端扫码设备中的应用有了较为全面的了解,后续我们将结合更多的应用场景与大家进行交ㄨ流,我们下期ξ见!

                本期作者:陈绍景、梁梦雷、谢耀华、刘悦臻、谢剑杰

                评论


                相关推荐

                技术专区

                关闭