简介
今天我们来介绍一个与机器视觉相关的毕业设计
基于机器视觉的答题卡识别系统
多说一句, 现在越来越多的学校以及导师选题偏向于算法类, 这几年往往做web系统的同学很难通过答辩, 仔细一想这也在情理之中, 毕业设计是大学四年技术水平的体现, 只做出个XXX管理系统未免太寒酸, 而且web系统选题每年都是那几个老师看着也吐了, 不卡学生才怪
所以同学们, 毕设选题要慎重, 最好先找已经毕业了的学长学姐们了解一下, 至少弄清自己做的系统会被老师问到什么问题, 不然只会为自己的毕业挖坑而已
毕设帮助,开题指导,资料分享,疑问解答(见文末)
什么是机器视觉
答题卡识别使用的是机器视觉识别算法, 那什么是机器视觉算法呢?
机器视觉,并不是视觉,他不具有人类的视觉理解能力,说穿了他只是图像处理技术的工程应用,都是由工程师开发的算法来完成任务,并且是特定的算法完成特定的任务,互相之间没有通用性。
废话不多说, 学长到大家看看, 这项技术实现的效果如何.
实现步骤
答题卡识别步骤:
- Step #1: 检测到图片中的答题卡
- Step #2: 应用透视变换来提取图中的答题卡(以自上向下的鸟瞰视图)
- Step #3: 从透视变换后的答题卡中提取 the set of 气泡/圆点 (答案选项)
- Step #4: 将题目/气泡排序成行
- Step #5: 判断每行中被标记/涂的答案
- Step #6: 在我们的答案字典中查找正确的答案来判断答题是否正确
- Step #7: 为其它题目重复上述操作
首先,打开摄像头扫描答题卡
对摄像头获取到的答题卡图片进行二值化腐蚀膨胀边缘检测
轮廓计算,进行顶点对齐,得到下图
对图像进行倾斜变换和仿射变换,得到下图
开始对图像进行二值化,边缘检测等操作,最终得到结果