Matlab 答题卡方案
在现代教育事业的飞速发展中,考试已经成为现代教育事业中最公平的方式方法,而且也是衡量教与学的唯一方法。通过考试成绩的好与坏,老师和家长可以分析出学生掌握的知识多少和学习情况。从而老师可以了解到自己教学中的不足来改进教学的方式方法,提高教学的水平。学生也可以通过考试了解到自身学习的不足,从而有针对性的进行学习。考试也是进行人才的选拔和评价的重要方法。不论是找工作应聘,还是单位内部的晋升都需要进行考试。
由于考试具有一定的特殊性,而且考试必须要公平公正,当然其中最重要的就是阅卷的准确性。考生做好了题,这时就需要改卷老师阅卷的准确性,这样才能更准确的给考生真实的分数。传统的阅卷方式为流水线的手工作业方式。这样的方式存在很多的问题,因为很容易受到阅卷者的主观因素的影响,从而产生一定的偏差。所以很多人就讨论如何将人为的因素降低到最低,来确保考生的考试成绩的公平公正和准确。
随着考试题型的多样化,特别是选择题在考试中所占据的比重越来越多,比如说像英语考试、公务员考试、企业的心理测试等,都是以选择题为主。由于选择题不具有主观性,所以为了阅卷的方便与准确,人们开始研究如何使用计算机来代替人工进行阅卷。最终出现了基于计算机的答题卡自动阅卷系统
软件系统流程图
开始→图像输入→图像的预处理→边缘检测→直线检测→填涂区域定位→学号剪切→多选题剪切→单选题剪切→识别学号→识别答案→输出学号和计算得分
进行灰度变换形成灰度图像、二值化处理、图像滤波、边缘检测、hough变换
计算出了单选选择答案后,需要与标准的答案进行对比。这时需要建立一个二维的数组来储存标准答案。在程序中建立了一个数组,只有一行却有多个列,来记录每一道单项选择题的标准答案。记录好考生填涂的答案和标准答案后,这时通过一个 FOR 循环一一对比,如果相同的就让计数器加一如果不同计数器就不加。循环结束后就可以统计出考生选对的答案,然后将统计好的数字乘上每道题的分数就可以计算出考生单选题的得分。