计算机竞赛 机器视觉opencv答题卡识别系统

0 前言

🔥 优质竞赛项目系列,今天要分享的是

🚩 答题卡识别系统 - opencv python 图像识别

该项目较为新颖,适合作为竞赛课题方向,学长非常推荐!

🥇学长这里给一个题目综合评分(每项满分5分)

  • 难度系数:3分
  • 工作量:3分
  • 创新点:3分

🧿 更多资料, 项目分享:

https://gitee.com/dancheng-senior/postgraduate

什么是机器视觉

答题卡识别使用的是机器视觉识别算法, 那什么是机器视觉算法呢?

机器视觉,并不是视觉,他不具有人类的视觉理解能力,说穿了他只是图像处理技术的工程应用,都是由工程师开发的算法来完成任务,并且是特定的算法完成特定的任务,互相之间没有通用性。

废话不多说, 学长到大家看看, 这项技术实现的效果如何.

实现步骤

答题卡识别步骤:

  • Step #1: 检测到图片中的答题卡
  • Step #2: 应用透视变换来提取图中的答题卡(以自上向下的鸟瞰视图)
  • Step #3: 从透视变换后的答题卡中提取 the set of 气泡/圆点 (答案选项)
  • Step #4: 将题目/气泡排序成行
  • Step #5: 判断每行中被标记/涂的答案
  • Step #6: 在我们的答案字典中查找正确的答案来判断答题是否正确
  • Step #7: 为其它题目重复上述操作

首先,打开摄像头扫描答题卡

对摄像头获取到的答题卡图片进行二值化腐蚀膨胀边缘检测

轮廓计算,进行顶点对齐,得到下图

对图像进行倾斜变换和仿射变换,得到下图

开始对图像进行二值化,边缘检测等操作,最终得到结果


最后

🧿 更多资料, 项目分享:

https://gitee.com/dancheng-senior/postgraduate

相关推荐
heartbeat..2 分钟前
深入理解 Redisson:分布式锁原理、特性与生产级应用(Java 版)
java·分布式·线程·redisson·
一代明君Kevin学长5 分钟前
快速自定义一个带进度监控的文件资源类
java·前端·后端·python·文件上传·文件服务·文件流
未来之窗软件服务7 分钟前
幽冥大陆(四十九)PHP打造Java的Jar实践——东方仙盟筑基期
java·php·jar·仙盟创梦ide·东方仙盟·东方仙盟sdk·东方仙盟一体化
普通网友13 分钟前
深入探讨Linux驱动开发:字符设备驱动开发与测试_linux 驱动开发设备号(2)
java·linux·驱动开发
4Forsee15 分钟前
【Android】动态操作 Window 的背后机制
android·java·前端
HappRobot17 分钟前
python类和对象
开发语言·python
小二李23 分钟前
第12章 koa框架重构篇 - Koa框架项目重构
java·前端·重构
cike_y27 分钟前
JavaBean&MVC三层架构
java·架构·mvc·javaweb·java开发
盼哥PyAI实验室30 分钟前
Python YAML配置管理:12306项目的灵活配置方案
开发语言·python
漂亮的小碎步丶31 分钟前
【启】Java中高级开发51天闭关冲刺计划(聚焦运营商/ToB领域)
java·开发语言