图像变形校正处理算法
在实际操作过程中,受到周遭环境及操作手法的影响,获取的图像会或多或少产生倾斜,畸形等,如果不加以校正,无法准确识别答题卡的答案。从整体来看,产生变形的原因主要分为系统变形和随机变形两种[[i]]。系统变形主要是移动终端自身原因造成,可以通过更换设备来解决。在这里我们主要研究如何解决随机变形。
校正的基本原理是针对图像变形的产生机理,例如缩放、旋转、透视。把一些重点信息从变形图像中提取出来,然后利用这些关键信息通过一定的方法和算法运算来校正恢复变形图片。
答题卡拍摄过程中主要会出现以下三种情形:
(1)拍摄时镜头不正,拍出来的图像是有平面倾斜角的。
(2)拍摄时镜头水平面和答题卡水平面不是平行的,导致拍摄的图像透视变形
图像平面倾斜校正可以根据Hough变换法来解决[[i]]。Hough变换的原理是根据已知坐标集合得出轨迹函数,同时根据参数空间的投票机制,选出合理的直线集。根据大部分答题卡的印刷特征,我们可以利用Hough变换检测出图像中所有的直线,然后在这个集合当中在选择平行于答题卡长边的那条直线,由此直线的倾斜角可算出整个图像的平面倾斜角度。然后再根据坐标系做矩阵运算,对所有像素点进行几何变换,实现图像的水平校正。
而透视变形的校正则需要在通过答题卡的左边界和下界面坐标计算变换完成水平倾斜校正之后,再对答题卡的上边界和右边界进行坐标计算变换,同时完成透视变形校正和缩放变形校正。使得综合校正得到的答题卡图像和标准答题卡一致。一张刚拍摄的答题卡整个校正处理过程主要是拍摄答题卡图片→图像灰度化处理→消除噪音处理→二值化处理→角点坐标化→水平面倾斜校正→透视变形校正→缩放变形校正→得到校正图像[[ii]]。
OpenCV标准库里有两种Hough变换算法,均可直接调用[[i]]。一种是抗噪声极强的标准Hough变换,但其算法复杂,占用较大的运算资源,效率低下。还有一种是累计概率Hough变换,他是选择其中部分可能点进行累加,相比较标准,比较节省运算资源。
[[i]] 林启亮. 基于OpenCV 2.x的车牌识别系统设计与实现[J]. 2013.
[[i]] 梁添才, 皮佑国, 彭晶,等. 基于Hough变换的列车客运票图像倾斜校正[J]. 华南理工大学学报 (自然科学版), 2007, 35(5):35-40.
[[ii]] 吴柏雄. 摄像头阅卷系统关键技术的分析与应用[J]. 计算机系统应用, 2010, 19(2):147-151.
[[i]] 陈浩鹏. 基于图像识别的移动端阅卷系统的研究与实现[D]. 中山大学, 2014.
- 点赞
- 收藏
- 关注作者
评论(0)