文献标识码:A
文章编号: 0258-7998(2012)07-0012-02
近年来,物联网技术高速发展,已成为各国的发展战略,受到高度重视。在物联网的应用和实现过程中,条码技术(可分为一维条码和二维条码)是信息识别领域最为重要和关键的技术之一。如今二维条码技术已经在物流、通信和工业领域中得到了广泛应用[1]。
因图像采集环境复杂多变,采集到的二维码必须进行图像处理才能达到理想的识别率。二维码图像预处理包括灰度化、滤波去噪、二值化、图像旋转和图像去光照等步骤。由于通过摄像头采集到的图像或多或少都会有一定的歪斜,所以将图像旋转端正对二维码图像识别来说是必不可少的[2-3]。
本文基于CORDIC算法,设计了一种高速流水线的图像旋转算法。算法只包含加法和移位操作,在FPGA上的验证结果表明,本设计的电路精度高,速度快,可以适用于实时二维码图像识别。
1 二维码图像采集和显示
在本系统中,图像采集采用OV7620摄像头。OV7620是一种CMOS图像传感器,具有软件可编程性,可以通过SCCB总线协议进行其工作模式的配置,被广泛应用在网络摄像头、摄像手机等产品中。首先基于SCCB协议的寄存器配置电路对OV7620进行初始化,然后设计了摄像头图像采集程序,通过SRAM控制器将采集到的图像存入SRAM中,并在LCD上实时显示出来。摄像头采集与显示框图如图1所示。
2 图像旋转角度的获取
由于受采集环境、摄像头和图像采集者等多种因素的影响,采集到的二维码图像一般都会有一定的歪斜。要将二维码图像旋转端正,首先需要知道二维码图像歪斜的角度。QR码图像在左上角、左下角和右上角各有一个位置探测图形,每个位置探测图形可以看作是由3个重叠且同心的正方形组成,它们分别为7×7个深色模块、5×5个浅色模块和3×3个深色模块。如图2所示,位置探测图形的模块宽度比为1:1:3:1:1。符号中其他地方遇到类似图形的可能性极小,因此可以通过扫描整个二维码图像找出3个位置探测图形,根据3个位置探测图形的相对位置判断出图像的歪斜角度。
式(3)为CORDIC算法的基本旋转公式。可以看出,CORDIC算法是由一系列简单的移位和加法操作组成的。它实际上是一种逐次逼近的坐标旋转方法,每次旋转都使累加的旋转角度之和与目标旋转角更接近。迭代次数n越大,旋转的角度就与真实的角度越接近。在实际应用中,受硬件资源限制,不可能迭代很多次。实际上,对于n次迭代,CORDIC算法的旋转精度为arctan2-(n-1)。当n=8时,旋转精度可达0.447 6°,满足实际应用的需要[4]。
由于计算过程中包含小数,所以在硬件结构中将原始数据左移8位进行扩张,在CORDIC单元最后将计算得到的数据的低8位提取出来作为小数部分即可。
5 实验结果分析
本实验中设计了摄像头采集程序以及液晶驱动程序。可以通过摄像头实时采集图像;将采集到的图像通过灰度化、中值滤波和二值化处理后,存入SRAM中;随后电路开始读取SRAM中的图像并求出歪斜角度,通过图像旋转电路将图像旋转端正。整个设计全部采用Verilog HDL语言编写。采用Synplify Pro、Quartus II 9.1和Modelsim 6.5SE仿真和实现了整个设计,并在DE2开发板上对本设计进行了验证。
通过实验结果可知,电路最大工作频率可以达到90.9 MHz;整个系统消耗了1 289个组合逻辑单元和483个寄存器单元;求得一个旋转过后的像素值需要6个时钟周期,因此本二维码图像旋转系统处理640×480像素的图像的帧率为49 f/s,该速度完全可以满足实际要求。上述验证结果表明,本设计的二维码图像旋转系统具有速度快、复杂度低的特点。
参考文献
[1] GHOSH I,MAJUMDAR B.Design of an application specificVLSI chip for image rotation[C].Calcutta:Proceedings of the Seventh International Conference on VLSI Design,
1994:275-278.
[2] SUCHITRA S,LAM S K,SRIKANTHAN T.Novel schemes for high-throughput image rotation[C].Singapore:Conference Record of the Thirty-Eighth Asilomar Conference on Signals, Systems and Computers,2004,2:1884-1888.
[3] Jiang Xiaogang,Zhou Jianyang,Shi Jianghong,et al.FPGA implementation of image rotation using modified compensated CORDIC[C].6th International Conference on ASIC,2005:752-756.
[4] 李杰明,郑学仁.基于CORDIC算法的数字图像旋转实现[J].电子技术应用,2009,35(6):72-74.