互联网加竞赛 机器视觉opencv答题卡识别系统

news2024/10/6 18:23:13

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1469270.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【k8s资源调度-HPA(自动扩缩容)】

1、HPA可以做什么? 通过观察pod的cpu、内存使用率或自定义metrics指标进行自动的扩容或缩容pod的数量。通常用于Deployment,不适用于无法扩/缩容的对象,如DaemonSet。控制管理器每隔30s(可以通过-horizontal-pod-autoscaler–sync-period修改…

TensorRT及CUDA自学笔记003 NVCC及其命令行参数

TensorRT及CUDA自学笔记003 NVCC及其命令行参数 各位大佬,这是我的自学笔记,如有错误请指正,也欢迎在评论区学习交流,谢谢! NVCC是一种编译器,基于一些命令行参数可以将使用PTX或C语言编写的代码编译成可…

STL容器之list

​ 1.封装除了对数据的保护、更好地管理数据之外,还有实现了对上层的统一; ​ 2.类模板参数的不同,一方面是为了实例化出来不同的类,另一方面是为了实现类的成员函数的不同; 一、认识list ​ 1.list是一种带头双向循…

软件实例,物流货运配货单打印模板软件单据打印查询管理系统软件教程,可以同时打印标签或补打

软件实例,物流货运配货单打印模板软件单据打印查询管理系统软件教程,可以同时打印标签或补打 一、前言 以下软件教程以 佳易王物流单打印查询系统V17.1为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 这个版本在原来基…

opencv绘制基本图形,在图片上添加文字

文章目录 1.opencv绘制基本图形1. 画直线, cv2.line( )2. 画长方形,cv2.rectangle( )3. 画圆型,cv2.circle( )4. 画折线,cv2.polylines( ) 2.图片上显示文字 本章主要阐述利用opencv绘制一些常见的图形方法和技巧,以及…

2024年贵州省事业单位考试下周一开始报名,千万不要错过报名时间

2024年贵州省事业单位考试公告已出!快看看你能不能报名! 1、报名时间安排 (一)网上报名 2024年2月26日-2024年2月28日 (二)网上资格初审 2024年2月26日-2024年2月29日 (三)网上缴费 2024年2月26日-2024年3月1日 2、笔试安排 2024年3月30日 08:30-10:…

HDL FPGA 学习 - FPGA基本要素,开发流程,Verilog语法和规范、编写技巧

目录 Altera FPGA 基本要素 FPGA 开发流程和适用范围 设计和实施规范 顶层设计的要点 Verilog HDL 语法规范 编写规范 设计技巧 编辑整理 by Staok,始于 2021.2 且无终稿。转载请注明作者及出处。整理不易,请多支持。 本文件是“瞰百易”计划的…

如何正确设置CrossOver之偏好设置 crossover软件使用 crossover设定 crossover软件安装

CrossOver的核心是Wine,Wine是一个能在多种POSIX-compliant操作系统(如:Linux、Mac OS等)上运行Windows应用的兼容层。Wine不是Windows的模拟工具,它是把Windows API 调用翻译成为动态的 POSIX 调用,实现Li…

东方博宜 1086. 姐妹数对

东方博宜 1086. 姐妹数对 思路&#xff1a;先按照题意把规律找出来&#xff0c;按照规律再写程序。 #include<iostream> using namespace std; int main() {int n ;cin >> n ;int sum 0 ;for(int i 1 ; i < n ; i){for(int j i1 ; j < n ; j){int m ;m …

Linux配置jdk、tomcat、mysql离线安装与启动

目录 1.jdk安装 2.tomcat的安装&#xff08;开机自启动&#xff09; 3.MySQL的安装 4.连接项目 1.jdk安装 上传jdk安装包 jdk-8u151-linux-x64.tar.gz 进入opt目录&#xff0c;将安装包拖进去 解压安装包 这里需要解压到usr/local目录下&#xff0c;在这里我新建一个文件夹…

Git的基本操作和原理

目录 写在前面的话 为什么要有Git&#xff08;git初识&#xff09;&#xff1f; Git安装(Centos为例) Git基本操作 创建Git本地仓库 Git配置 认识工作区、暂存区、版本库 概念认识 添加文件 查看.git文件 修改文件 版本回退 撤销修改 情况一&#xff1a;…

【办公类-22-06】周计划系列(1)“信息窗” (2024年调整版本)

作品展示 调用原来的信息窗素材&#xff0c;制作下学期的19周的信息窗基础word 背景需求&#xff1a; 开学了&#xff0c;继续做周计划系列&#xff0c;在原有基础上&#xff0c;进行进一步代码优化 【办公类-22-01】周计划系列&#xff08;1&#xff09;-生成“信息窗”&am…

供应链大数据:穿越经济迷雾的指南针

随着经济形势的变幻莫测&#xff0c;企业运营面临着前所未有的挑战。在这个充满不确定性的时代&#xff0c;供应链大数据如同一盏明亮的指南针&#xff0c;为企业提供精准的方向指引。下面&#xff0c;我们将深入探讨供应链大数据如何帮助企业洞察市场趋势、优化库存管理、降低…

K线实战分析系列之八:十字星——容易识别的特殊形态

K线实战分析系列之八&#xff1a;十字星——容易识别的特殊形态 一、十字启明星和十字黄昏星二、弃婴底部形态和弃婴顶部形态三、总结十字启明星和十字黄昏星形态的要点 一、十字启明星和十字黄昏星 当开盘价与收盘价极为接近的时候&#xff0c;当期的K线就呈现为一根十字线&am…

PyPDF2:项目实战源码分享(PDF裁剪)

目录&#x1f4d1; 1. 背景&#x1f4d1;2. 源码模块解析&#x1f4d1;2.1 读取PDF页数2.2 获取指定页的宽高尺寸2.3 裁剪单页PDF2.4 批量裁剪PDF 总结&#x1f4d1; 1. 背景&#x1f4d1; 接PyPDF2模块推荐博文中提到的实际需求&#xff08;将银行网站下载来的多页且单页多张…

设计模式--单例模式--懒汉饿汉

单例模式 单例模式(Singleton)&#xff0c;保证一个类仅有一个实例&#xff0c;并提供一个访问它的全局访问点。 单例模式 通常我们可以让一个全局变量使得一个对象被访问&#xff0c;但它不能防止你实例化多个对象。一个最好的办法就是&#xff0c;让类自身负责保存它的唯一实…

[嵌入式系统-34]:RT-Thread -19- 新手指南:RT-Thread标准版系统架构

目录 一、RT-Thread 简介 二、RT-Thread 概述 三、许可协议 四、RT-Thread 的架构 4.1 内核层&#xff1a; 4.2 组件与服务层&#xff1a; 4.3 RT-Thread 软件包&#xff1a; 一、RT-Thread 简介 作为一名 RTOS 的初学者&#xff0c;也许你对 RT-Thread 还比较陌生。然…

vue-element-admin如何绕开系统的请求的路由,使用静态路由

我开发时候遇到一个这样的问题&#xff0c;服务端权限管理部分还没搞好&#xff0c;所以但是需要将所有菜单列出来 我做了以下的修改 首先是建一个文件存放后期需要动态生成的路由 引入到常量路由中 另外在permissions当中

FPGA之16:1复选器

每个slice 都有一个F8MUX。F8MUX原语&#xff1a; MUXF8 MUXF8_inst&#xff08; .0&#xff08;0&#xff09;&#xff0c;Il Output of MUX to general routing .I0&#xff08;10&#xff09;&#xff0c;//Input&#xff08;tie to MUXF7L/LO out&#xff09; .I1&#xf…

This dependency was not found解决方法

问题如上(前端代码)&#xff0c;我是引用js文件出的问题&#xff0c;无法找到api/userManage模块。 解决&#xff1a;没感觉哪有问题&#xff0c;把后面加了个/&#xff0c;就解决了&#xff0c;代表src目录&#xff0c;应该是目录和目录之间应该有/作为分割&#xff1a;