基于数字图像处理的答题卡识别。
顾金华。南京信息工程大学信息与控制学院自动化系,学号:20131336029
1. 主要功能。
本设计包括**的读取、答题卡角度旋转矫正、答题卡坐标位置矫正、答题卡灰度值读取四个主要功能。该系统具有显示答题卡、求得答题卡答案矩阵、读取答题卡分数等基本功能;答题卡角度矫正、坐标位置矫正,灰度值读取主要用到canny算子边缘检测,直线检测,图像的二值化,图像矩阵转换。
2. 总体方案。
本设计在window系统下,采用matlab r2012b gui开发系统,实现了相应的算法。
3. 各功能模块原理。
由于系统读入的图像可能是倾斜的,则需要对其旋转修正。首先将图像进行canny算子边缘检测得到二值边缘图像;接着进行hough变换,并设置平面峰值点检测直线段;最后并使用语句得到直线角度,即为图像倾斜角度。
对答题卡的扫描是对其涂黑位置的扫描,所需图像不需要是彩色的,所以要对图像进行二值化处理。首先使用otsu方法获得阈值t;接着使用im2bw函数对图像进行二值化处理。
由于答题卡和答案卡在两个坐标系中的位置可能有差别,这对后面比较答案有很大的影响,所以要对图像的坐标位置进行统一。首先利用上面的直线检测,检测到第一条直线的左端点;接着规定该点在坐标系的合适位置;找出合适位置和现实点的距离;最有利用平移矩阵对图像进行平移。
需要知道答题卡上的答案,则需要对答题卡上的答案区进行扫描。首先确定答案区在坐标系上的位置;接着测得每个选项填涂的宽度与长度;然后测得每题的相隔距离,每个答案区的相隔距离,这样就能得到每个需要扫描灰度的选项坐标范围,最后算得每个选项区的总灰度值。
要对比答案需要把上面扫描的灰度值矩阵转化为0-1矩阵。首先设置合适的阈值(我这里的阈值为155);接着检测灰度值,若灰度值低于阈值,则为涂黑区,该位置的值设为1,若高于阈值,则为未涂区,值为0;最后得到答案矩阵。
要获得学生成绩,则需要将标准答案矩阵和学生答案矩阵进行对比。将两个矩阵的每一列互减,如果所得结果不为0,那么学生这题就做错了,统计错误题数,用公式:得分=总分-错题数*分值,算出成绩。
4. 功能测试。
1)使用houghline函数检测直线得到如下图像。
图1 直线检测图。
2)由于图像并没有倾斜所以修正后图像与原图像相同,如下图像。
图2 旋转修正后的图像。
设定一个阈值t,用t将图像分成两部分:大于t的像素群和小于t的像素群,即对图像二值化。使得图像只有黑白两种颜色,便于后面的比较。二值化后的图像如下图所示。
图3 二值化后的图像。
答题卡和答案卡在坐标系上的相对位置不一致,会对后面的**对比产生影响。将直线检测中的第一条直线的左端点作为(60,240)点移**片位置,这里用到了**的平移,直线检测。得到如下两幅**。
图3 答案卡位置修正图。
图4 答题卡位置修正图。
通过扫描答案区的灰度值来获得答案卡和答题卡的灰度值矩阵,但为了方便比较,还需将灰度值矩阵转化为0-1矩阵。假设涂黑的地方为1,未涂区为0 。先设置一个阈值,如果灰度值小于该阈值则矩阵对应于该位置的值为1,若大于阈值,则值为0。
答案卡和答题卡的矩阵如下图所示。
图5 答案卡矩阵。
图6 学生答题卡矩阵。
将两个矩阵的每一列互减,如果所得结果不为0,那么学生这题就做错了,统计错误题数,用公式:得分=总分-错题数*分值,算出成绩。系统总体效果如下图所示。
图7 系统整体效果图。
5. 体会。
通过这次设计我更清楚的了解matlab图像处理相关函数及方法,提高了我对计算机视觉的兴趣,为以后的科研学习打下坚实的基础。
该设计使用图像处理技术以matlab为工具成功实现了对答题卡的识别,有一定的现实意义。计算机视觉在我们日常生活中有很多的应用,图像处理这门课的实用性也很强。这次的设计清晰了我图像处理的思路,掌握了一些图像处理的方法,了解很多有用的算法。
让我了解到做实践设计要努力专研,查找资料,不怕失败,在程序调试失败的情况下要能够冷静分析。
大作业报告
单片机原理与应用。2013年课程综合设计报告。1 设计题目 电视防沉迷控制系统的设计。1设计要求 设计一控制系统,控制电视电源的开断,每次打开电视机必须同时打开电视机上的电源和控制器上的按键才能打开电视,当电视打开时间持续1小时后自动切断电源30分钟,30分钟后自动重新打开电视。为了测试简单,将时间...
大作业报告要求
北京城市学院信息学部。2014 2015 2学期。c语言程序设计课程大作业。专业 四号宋体居中,2倍行距,下同 班级。学生姓名。学号。年月。目录。标题小三号黑体加粗,居中 段前 段后各一行 也可以作为正文第1章,此处标题小四号宋体,行距20磅,下同。一 团队介绍和人员分工 2 二 程序主要功能 3 ...
PLC大作业报告
班级 05071002 姓名 学号 2010301381 时间 2013年12月20日。其他组员 一物品输送 移载 分选系统由输送带。一 输送带二及移载装置组成。系统完成的功能是 1.输送带一将物品由a位置输送到b位置,物品到达b位置后,输送带一停止运行,等待移载装置将物品移载到输送带二上,一旦物品...