论文部分内容阅读
二维条码的不断普及,给二维条码识读设备带来了新的机遇。以往在固定场所、固定使用环境下使用的二维条码设备已不能满足当前的应用需要。二维条码设备逐渐向移动便携和经济易用两个方向发展。与固定设备相比,便携式识读设备的难题是条码识读的环境多变,拍摄距离过近或过远、大角度倾斜或者扭曲拍摄下的条码都将影响条码的准确识读。此外,由于便携式设备的CPU和内存相对PC机来说要小得多,所以条码识别算法的运算量和运算空间要有一定限制。本文的主要工作是对便携式设备(如手持式扫描仪、手机等)拍摄的快速响应码图像,尤其是扭曲变形的条码图像进行高效快速地识读。在识别条码前先对条码图像进行预处理,包括灰度处理、基于直方图的中值滤波、分块最大类间方差法进行二值化等。预处理之后,要在图像中找出条码感兴趣的区域。本文实现了一种连通区域像素点标记的条码定位算法,其主要思想是对图像的每一个像素点进行遍历,并按照4邻域连通或8邻域等连通规则,将属于同一连通域的像素点用相同记号标识。得到条码所在区域后,要对扭曲变形的条码图像进行几何矫正。本文通过实验对比了Coons曲面法、有限元分析法以及基于LMA的透视变换三种形变矫正方法,Coons曲面法和基于LMA的透视变换矫正能够取得满意的效果。而对于发生形变的条码图像,本文提出了一种基于多项式拟合模块边缘从而识别模块的方法。本方法首先运用基于LMA的透视变换和Coons曲面法进行矫正,然后通过基于最小二乘法的多项式拟合来拟合出每一行每一列的模块边缘,最后识别模块。本文的算法能够较好地克服非线性形变的影响,与现有的二维码的识别算法相比,明显提高了识别率。