基于图像准确处理的数字图像处理系统结构设计及其功能实现
2016-12-26何拥军
何拥军
摘 要: 为了满足图像精确处理需求,利用现场可编程门列阵动态配置灵活性,采用高性能Cysclone系统芯片作为核心处理器,并配合1394总线链路层构建图像处理系统,实现图像数据采集和处理。系统方设计分为图像采集、存储、处理和传输等模块,先通过摄像头采集QR码图像,进行滤波等预处理工作,然后经定位、提取信息、检索纠错等得到字符信心。该系统采用图像处理技术,很好地解决了不同光照条件引起的识别不确定性,精确区分前景和背景,减少信息遗漏,设计硬件结构,提高系统速度和面积技能,优化系统硬件操作。在软件设计中,采用软核处理器,完整图像信息的提取。系统设计与传统二值化、滤波等检测方法相比,处理时间大大缩短,同时处理图像分辨率也得到提高。
关键词: 图像处理; QR码; 数字图像处理系统; 结构设计
中图分类号: TN957.52?34 文献标识码: A 文章编号: 1004?373X(2016)22?0097?0
0 引 言
数字图像处理系统是利用图像采集信息,并实现处理和传输功能的装置[1?2],在多个领域发挥重要作用。随着图像采集处理系统逐渐成熟,各个领域对图像数据的可辨识性和适应性要求逐渐提高[3]。本文主要分析基于图像精确处理的数字图像处理系统设计与实现。
1 系统设计方案
1.1 系统设计总体方案
为了满足图像精确处理需求,本设计QR码识别系统架构如图1所示。本设计分为图像采集、系统整体框架设计图、图像处理和视频显示模块。为了满足精确处理需求,图像采集模块采用高清CMOS航空摄像头,视频图像采集模块采用DE2?70开发板实现[4?5],嵌入可编程芯片,视频显示模块使用液晶显示器输出视频。
1.2 关键模块设计
视频图像处理模块是关键部分,承担图像的采集、处理以及识别,视频图像主要结构和控制信号如图2所示。数据从图像采集模块的摄像头接口进入,进行模数转换,自动监测信号。摄像头采用NTSC制式,将模拟信号解码为分量视频数据,将信号存储,完整后进入FPGA芯片进行图像处理。系统设计的数字图像处理系统主要是图像预处理、定位、数据采集的实现,然后是芯片的配置。
2 QR码图像识别系统算法
QR码编码步骤包括数据分析、编码、纠错、构造等,数据分析确定字符类型和模式,编码模式包括字符编码、汉字提取以及扩充解释等。QR码数据编码按照指定模式,将信息转换为二进制位流,将码字转换为序列。数字模式码字生成步骤如图3所示。举例说明字母数字模式,如将AB?43转换为码字序列,按照字母数字模数得到字符,每两个字符为一组,均转换为11位二进制数,连成一个序列。GB2312所规定的的汉字字符[6]共6 768个,每个字符均由2个字节表示,将汉字字符转换为13位二进制码。
采用QR码纠错算法生成纠错码字,在数据块后提取信息,减少数据丢失的情况。纠错共分为4个等级,对应4个容量,一般能够纠正拒读错误和替代错误[7]。掩膜设计主要是满足符号深色和浅色的调整,降低译码错误发生率,仅仅使用在编码图形中。根据各个掩膜图参考生成条件,进行异或操作,对每个掩膜进行评价。QR码符号由正方形模块构成,编码区域包括纠错编码和数据编码。
QR码识别给予CCD摄像头采集的图像,通过计算机去除图像噪声,数字图像由有限个元素组成,二维数字灰度图像均可以由函数表示。在QR码图像进行识别之前需要预处理,保证QR码完整性。本组设计中,采用空间滤波中值滤波方法,降低噪声[8],并进行Otsu算法二值化,完成QR码预处理工作。
采用硬件算法实现QR图像数据的采集,包括采样、定位以及提取等工作。图像预处理后,提取相关信息,有效定位,调整符号偏角,建立采样点,得到提取像素信息的位置坐标。QR码定位中,主要搜索位置探测图像。QR码图像滤波给予邻域处理,逐点移动掩膜。硬件实现非线性滤波器时,需要设计排序,求出较多逻辑资源,采用非线性滤波中值滤波器滤波。Matlab仿真采用传统处理器方法,代码如下:
>> t0=cputime;
>> K=medfilt2(J,[3,3]);
>> t1=cputime?t0
根据模块长度网格化处理整个符号,一个模块对应一个数据,减少计算量,后续工作中均按照图像采集模块化坐标。掩膜时需要注意功能区域,考虑到图像探测、校正,因此不消除掩膜。数据编码中,数据位流基本格式为模式指示符、字符计数指示符、数据位流、终止符,模式指示符共4位,包括数字、字符数字、汉字、字节,字符计数则是由版本而确定,数据流部分也是根据版本而定。
3 软硬件设计与实现
系统硬件采用Altera公司EP2C70芯片,编辑单元68 416个,RAM容量15 200 b,4个PLL,622个用户pin数量。软件部分,使用DSP Builder处理数字信号。
在图像预处理模块中,硬件设计要求不仅需要满足输出功能,同时要能够达到实时处理,且逻辑资源尽可能少,又能监测滤波状态。设计采用中值滤波器,分为图像扫描和功能逻辑模块。扫描模块实现数组的采集,逻辑模块实现像素的计算。窗结构零数字电路设计中,需要满足扫描和滤波器逻辑模块,采用由左到右的扫描方式,窗结构包括9个寄存器,存储像素值,扫描过程中,每一个区域考虑相邻的像素提取。灰度直方图用来描述灰度级个数,采用FPGA片内存储资源实现,数据流为1~254数据集合,读入像素值后,RAM值加1,模块化代码如下:
FIFO设计中,利用FPGA内部存储资源,按照先进后出的原则读取数据,当输入时钟clk上升时,信号为高,缓存器存储数据。该模块内设置两个地址计数寄存器,每一次读或者写,寄存器数值加1。读写到最大值时,进入下一个值,不会超过存储空间。滤波器功能逻辑模块采用奇偶排序法进行逻辑设计,直方图统计模块采用灰度直方图函数,采用FPGA片内存储资源,数据范围为1~254数据集合,在像素值读入后,RAM地址数值加1。QR码定位模块是图像预处理后扫描,在规定误差内表示为探测图像咸蛋,提取模块长度和其他信息。定位模块包括累加模块、转换和提取模块,状态转换模块通过reset信号实现启动,时钟周期由高到低,进入初始模块,若累加像素动作完整,状态进入到模块长度计算。
4 系统分析
本系统中,由于能够直接使用滤波,二值化等检测,处理时间大大缩短,而且图像分辨率达到640×480,处理速度上具有很大优势。由Quartus Ⅱ编译报告分析资源使用情况,该设计系统使用11 347个LE,寄存器为7 169个,占到20%,资源使用率适中,有利于后端布局布线,实现物尽其用,节省资源。通过Modelsim仿真产生文件,分析FPGA片内功耗,SDRAM缓存器控制模块耗能较大。
QR码视频图像经过中值滤波处理之后,噪声可以经过过滤,大大减少,对后期定位有利,而且能够减少漏定,提高识别率。二值化方面,能够有效区分前景和背景最大的灰度阈值。QR码经过中值滤波、采样等检测后,信息寄存到SSRAM中,然后数据传输到片内存储器中,确定图形坐标,符号通过NIOS打印在Console上。
5 结 语
综上所述,本文设计基于图像精确处理的数字图像处理系统,系统设计完整,完成各个模块的设计实现工作,提出给予结果反馈的二值化算法,优化和改进中值滤波硬件结构,并设计QR码定位模块,实现信息的提取,图像处理速度大大提高。
参考文献
[1] 王迪.基于数字图像处理的图像分割系统的设计及实现[J].企业导报,2015(12):58.
[2] 焦再强.基于Zynq?7000的购入式数字图像处理系统设计与实现[D].太原:太原理工大学,2015.
[3] 张鑫,吴娱,平子良,等.基于Matlab GUI的数字图像处理实验平台设计[J].现代电子技术,2014,37(18):6?8.
[4] 希仁娜·亚森,李湘.基于Internet的远程数字图像处理[J].现代电子技术,2014,37(14):114?116.
[5] 张千宇,高青伟,徐海峰.数字图像处理的“炮身轴线偏移”检测系统设计与实现[J].火力与指挥控制,2014(12):149?152.
[6] 孙凯旻.基于FPGA数字图像处理QR码识别系统的设计与实现[D].上海:上海师范大学,2013.
[7] 王桢.数字图像处理系统设计与实现[J].计算机光盘软件与应用,2014(21):296.
[8] 刘婧.基于Matlab的简单图像处理系统的实现[J].电子技术与软件工程,2014(9):112.
[9] 高体红,周凯汀,郑力新.药片视觉系统中图像处理单元设计与验证[J].计算机仿真,2015,32(1):420?424.