基于OpenCV的答题卡生成及批阅分析系统.docx

基于OpenCV的答题卡生成及批阅分析系统.docx

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

?

?

基于OpenCV的答题卡生成及批阅分析系统

?

?

韦溢辉刘汉英

摘要:为降低阅卷的人力成本,提高考试情况分析的准确率和效率,对答题卡模板生成以及答题卡识别的算法进行研究和设计。实现动态设置答题卡信息,用word文档形式生成答题卡模板,以图片形式读入实物答题卡,通过图像识别获取答题卡填涂内容,将识别结果与设定的答案信息进行比对,得出考试结果。系统运用OpenCV计算机视觉库对答题卡图片进行灰度化、降噪、模板匹配、透视变换、二值化等一系列图像处理,最终实现答题卡模板生成以及答题卡识别。

关键词:答题卡生成;答题卡识别;OpenCV图像处理;模板匹配

:TP391.41:A

:1009-3044(2020)29-0023-05

1背景

网上阅卷系统已经应用于中考、高考和国考等大规模考试,然而在复杂环境下的中小规模考试如月考和测试等,该系统并未得到广泛应用,基本上仍在进行手工阅卷[1]。本文以桂林理工大学的答题卡样式为例,设计一种可以根据使用者要求生成答题卡兼阅卷并对考试情况进行分析的软件,最大限度降低成本和軟件对设备的要求,如答题卡打印纸张采用普通A4纸即可,使用方式尽可能简单,以减轻教师的工作负担。

2系统分析

答题卡生成与批阅分析系统可以依照使用者对答题卡信息、客观题题型和题数的设置生成相应的答题卡模板并导出word文档,提供答题卡批量识别功能,根据使用者预设的答案数据得出答题卡的填涂结果,并根据预设的知识点类型,统计每个知识点和每道题的得分率。

3系统设计

3.1系统功能设计

本系统的整体功能图如图1所示。

3.1.1新建答题卡模板

在新建答题卡模板的功能里,使用者可以自定义答题卡的基本信息,如题目数量、题目选项数量、题目分值、知识点数量等;根据使用者的设置,生成相应数量的文本框等控件让用户定义知识点、答案等,最后,以Word文档形式生成相应信息、题量的答题卡模板,以供使用者打印。

3.1.2已存答题卡模板

在已存答题卡的页面,显示使用者已创建的所有答题卡模板,可对答题卡模板进行“批量识别”“导出”“删除”等操作。

1)实现批量识别实物答题卡,将需要识别的答题卡单独拍照,然后全部导人程序进行识别,记录答题卡识别结果。

2)实现答题卡模板导出功能,使用者可以重复导出答题卡。

3)实现删除答题卡模板功能,使用者可以随时删除不需要的答题卡模板。

4)把实物答题卡识别结果与使用者定义的答案数据进行比较、判断,并输出每张实物答题卡的得分和每道题的正确率以及每个知识点的得分率。

3.2标准答题卡模板设计

本系统所设答题卡标准模板如图2所示,图中黑色圆块作为整体定位锚点,最下边和最右边的黑色矩形作为学号区域和答题区的定位锚点,代表题目选项和学号选项位置的纵坐标和横坐标。将答题卡模板生成时需要插入内容的区域添加为书签。

4系统实现

4.1答题卡模板生成的实现

创建答题卡模板的流程如图3所示。

4.1.1题目数量溢出判断

判断题目数量n是否超出限制,即题目数量是否在答题卡模板的题目容量范围。根据答题卡标准模板的设计,用于插入题目选项内容的区域共23行、19列,在每一行里,题号占一列,每个选项占一列,两道题间的间距占一列,所以每道题所占列数为选项数量s+2,特殊的,每行最后一题无须留出与下一题的

4.2答题卡识别的实现

答题卡识别,是把答题卡以照片形式导人,通过对图片的一系列处理如转换灰度图、降噪、模板匹配、透视变换、区域投影、膨胀腐蚀、阈值判定等,从而得出答题卡的识别结果,再与标准答案数据比较,进行结果分析[2]。答题卡识别流程如图4所示。

4.2.1模板匹配

根据答题卡模板的设计规则,把答题卡分割成左上、左下、右上、右下四个相等大小的区域时,每个区域上必然有且只有一个黑色圆点,分别对4个区域进行模板匹配,就可以得出4个整体定位锚点的坐标。在此以左上角的区域为例进行介绍。

在完成了对图像的灰度化、高斯滤波降噪、二值化后,进行模板匹配,算法主要流程如图5所示。

1)OpenCV提供模板匹配函数matchTemplate匹配模板块和输入图像[3],图6(a)是左上区域原始图像,获得匹配结果图像,越亮的点匹配度越高,左上区域模板匹配结果如图6(b)所小。

2)归一化是把数据经过处理后限制在需要的一定范围内,使得数据之间对比性明显[4]。OpenCV提供函数normalize进行归一化处理,图7为对模板匹配结果做归一化处理。

3)OpenCV提供函数minMaxLoc在给定矩阵中获取最大和最小值(包括它们的位置[5]。通过该函数可得匹配度最高的点的坐标,再经过计算得出该点在原图的坐标。

实现模板匹配获取4个整体定位锚点坐标的主要伪代码为[6]:

voidgetlmageTag(Mat匹配原图,Mat原图局部

文档评论(0)

135****3598 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档