基于局部自适应阈值分割和Hough变换的答题卡识别算法-含Matlab代码

一、引言

随着现代化信息技术的发展,在答题卡阅卷领域已逐步实现计算机取代人工阅卷。计算机阅卷的优点:不但加快了阅卷速度,而且节约了人力资源,避免了人为错误的产生,增加了考试的公平性,进而提高了阅卷质量和效率。计算机识别答题卡后,还能直接读取学生的成绩进行存储并建立数据库,方便长久保存,省去了手工输入学生成绩的步骤。此外,学生答题卡图像识别技术能够和许多信息化技术相融合,便捷地获取答题成绩,进而将其应用到不同的教研系统中进行数据共享,方便数据分析,找出教学中存在的问题从而改进教学方法,具有非常重要的现实意义。针对答题卡的识别方法,张菲菲等采用模板匹配方法对答题卡填涂区域进行角定位;韦溢辉运用OpenCV计算机视觉库对答题卡图片进行一系列处理;陈淑红等提出基于纵向同步头和模板匹配的方法进行定位识别。以上方法具有一定的局限性,此外相比于用专门的光电设备进行答题卡的识别,采用图像处理的识别方式具有成本低廉,使用方便的优点。鉴于此,本文提出一种基于局部自适应阈值分割和Hough变换答题卡识别算法,以此构建基于图像识别的阅卷系统。

二、图像预处理基础

答题卡自动阅卷系统把答题卡图像输入计算机,计算机自动识别填涂标记,最后存入数据库与标准答案对照,完成阅卷步骤。在这一过程中,由于答题卡图像的质量在一定程度上受到环境、设备等因素的影响,降低了自动阅卷的准确率,甚至可能无法正常阅卷。为确保后续步骤能顺利进行,本文对所获取的图像先进行预处理,包括滤波,几何校正、彩色校正等操作,并进行二值化处理。

2.1 图像二值化

图像二值化是图像分析与处理中最常见最重要的处理手段,实质是将图像上的像素点的灰度值设置为0或1(或255),即让整个图像只有黑白两种颜色组成。在对图像进行二值化处理的过程中,阈值的选取直接影响到目标答案是否能被正确识别。考虑答题卡图像的应用场景,考生填涂答题卡的深浅度因人而异;此外由于环境因素,往往使得采集的图像出现光照不均匀的现象。如果整幅图像内采用固定的阈值分割图像,在光照不均匀的情况下,单阈值情况的二值化效果可能并不理想。因此,在本文中采用局部阈值自适应法来进行二值化分割,当像素点的灰度值小于阈值时,则将该点的数值置为0表示背景,否则将数值置为l表示前景或特定物体,局部阈值法可有效解决照明不均的问题。局部阈值分割法基本原理是将原始图像划分成很多足够小的块,这样可以近似地认为每一块的光照是均匀的,对每个子块选取相应的阈值做阈值分割,在同一幅图像上的不同区域得到的是不同的阈值,自适应阈值采用的是局部邻域块的均值。该算法在不同的图像区域所选择的阈值不一样,同时可以随着光照明暗变化自动调整阈值的大小。

2.2 基于Hough变换的倾斜校正

在答题卡图像采集过程中,由于各种因素的影响,采集得到的答题卡图像可能产生某种程度的倾斜。为了提高阅卷结果的准确性,需要对答题卡图像进行必要的倾斜校正。倾斜校正一般分为两步:第一步,倾斜角度查找;第二步,进行坐标变换,得到校正后的图像。倾斜角度查找常用的方法有两种:一种是利用角点检测来找出倾斜角度;另一种是利用霍夫(Hough)变换来找出倾斜角度。答题卡图像样式通常固定,因此本文采用Hough变换来进行倾斜角度的计算。

Hough变换由Paul Hough于1962年首次提出,是一种在图像中寻找直线、圆形以及其他简单形状的方法。它的核心思想是将原坐标(x,y)转换到参数空间中表示,进一步利用投票机制来获取当前图像内的形状集合。由于它利用了图像全局特性,所以具有较强的稳定性和鲁棒性。最初的Hough变换只能用于检测直线,此后Hough变换被不断地研究并取得大量进展。经过发展后,Hough变换不仅能够识别直线,还能识别包括圆、椭圆等其他简单的规则图形。霍夫(Hough)变换原理可参考文献[1]。经过图像二值化处理以及倾斜校正后的图像如下图所示。

在这里插入图片描述

图1 原图像和校正图像对比

2.3 图像分割

将图像分成若干个特定的、具有相似性质的区域把感兴趣目标提取出来的技术和过程称为图像分割,它是由图像处理到图像分析的关键步骤。灰度图像分割方法一般可以分为基于区域的方法和基于边界的方法。前者利用区域内的灰度相似性进行分割,后者利用区域间的灰度不连续性进行分割。根据分割过程中选择的运算策略不同,分割算法又可分为并行算法和串行算法。在并行算法过程中,所有检测和分割都可独立和同时地进行,利于提高运算效率。在串行算法过程中,后续的处理流程要用到之前的步骤得到的结果,要求程序运行具有连续性。

2.3.1 基于区域的分割方法

基于区域的分割方法是以直接寻找区域为基础的分割技术,它的依据是区域内像素的相似性。根据划分区域的方式不同一般分为两种:第一种是区域生长,从单个像素出发,逐步合并以形成所需要的分割区域;第二种可以看成是第一种的逆过程,从全局出发,逐步切割至所需的分割区域。

2.3.2 基于边界的分割方法

基于边界的分割方法试图通过检测包含不同区域的边缘来解决分割问题。基于边界的分割方法首先检测图像中的边缘点,然后按照一定的策略连接成轮廓线得到边界,最后根据边界得到分割区域。由于图像边界具有梯度峰值的特点,所以该方法又称为基于梯度的图像分割方法。其中,进行边缘检测的常用方法有图像微分(差分)、梯度和拉普拉斯变换等。

2.3.3 基于特定理论的分割方法

随着图像分割技术的不断发展,不同时期涌现出了许多与特定理论、方法相结合的图像分割技术,如基于深度语义的图像分割方法和基于小波分析的图像分割方法等。

三、实验验证

本文提出了一种基于局部自适应阈值分割和Hough变换的答题卡识别方法,利用Hough变换对图像的倾斜度进行直线检测,对存在倾斜的图像进行旋转校正,最终实现答题卡答案的定位和检测。使用像素灰度积分统计的方法进行识别,能有效提高识别的正确率,能够准确定位答题卡的涂卡痕迹。答题卡识别流程如下图所示。

在这里插入图片描述

图2 答题卡识别流程图

3.1 图像平滑滤波

图像平滑滤波是一种实用的数字图像处理技术,目的是为了消除图像数字化时所混入的噪声,常用的有中值滤波、均值滤波等方法。答题卡图像在采集过程中经常会混入随机噪声,这种噪声一般是邻域中亮度值发生随机突变的像素,并且经排序后往往出现在序列的队首或队尾,中值滤波指将像素邻域的灰度值按数值大小顺序排序后取中间序号那个数值作为中心像素的新灰度值,经中值滤波后答题卡图像能有效消除随机噪声的干扰。平滑滤波前后图像如图3所示。

在这里插入图片描述

图3 平滑滤波效果

3.2 识别结果

经过图像预处理及校正过程后,得到待检测的答题卡识别图像,后续的工作包括对区域的分割定位、答题涂抹位置的检测,以及答案目标的分析识别。如下图所示。
在这里插入图片描述

图4 答题卡识别结果

四、参考文献

[1] 林恒青, 戴立庆. 基于局部自适应阈值分割和Hough变换的答题卡识别算法 [J]. 桂林航天工业学院学报, 2021, 26(03): 280-6.

五、Matlab代码获取

Matlab代码链接如下:

https://download.csdn.net/download/m0_70745318/87762256


博主简介:擅长智能优化算法信号处理图像处理机器视觉深度学习神经网络等领域Matlab仿真以及实验数据分析等,matlab代码问题、商业合作、课题选题与指导等均可私信交流


  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

matlab科研中心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值