vlambda博客
学习文章列表

OpenCV的答题卡识别的Python实现

基于OpenCV的答题卡识别



哈喽~  你们的猿码君又来咯~


今天是2月29日,四年才会出现一天,那么今天猿码君要来跟大家聊一聊什么呢?


OpenCV的答题卡识别的Python实现


OpenCV是一款通用的图形处理方面的类库,对图片的处理提供了各种各样的操作。考试里面的选择题非常多,用人工去判卷显然非常不合算,所以考虑用OpenCV实现自动识别选项。


下面我们一起来简单的了解一下吧!

OpenCV的答题卡识别的Python实现


原始图片:

OpenCV的答题卡识别的Python实现

识别边框:

OpenCV的答题卡识别的Python实现

纠正位置:

OpenCV的答题卡识别的Python实现

高亮图片:

OpenCV的答题卡识别的Python实现

识别选项:

OpenCV的答题卡识别的Python实现

识别填涂答案:

OpenCV的答题卡识别的Python实现

红色标注识别的区域:

OpenCV的答题卡识别的Python实现

OpenCV的答题卡识别的Python实现

 主要步骤:

   · 读取图片

   · 图片转化为灰度图

   · 图片设定阈值

   · 开运算(先腐蚀,后膨胀)

   · 指定答题区域

   · 找到涂选框

   · 根据涂选框的坐标确定所涂选的选项及题号


识别原理:

把答题卡放在深色背景中,用查找轮廓定位好答题卡位置,用透视变换取出答题卡图像,根据位置判断是否被涂黑,识别出ABCD,对比标准答题计算出成绩。



如何用Python实现?

OpenCV的答题卡识别的Python实现


好啦,今天就先到这吧,祝大家下一个2月29日能成为理想中的自己!


答题卡识别


就可以收到我们的源码链接了哦~



猿码分享