我用Python给班主任写了一个自动阅卷脚本(附源码)
作者:顾木子吖 时间:2023-11-16 07:43:25
导语
幼儿园升小学,小学升中学,中学升高中..........
每个人都要经历的九年义务教育:伴随的都是作业、随堂考、以及每个科目的大大小小的考试。当然小编被考试支配的恐惧以及过去了哈~除了学生考试的压力之外。
有调查发现,目前老师大量的时间被小型考试,如课堂测验、周测等高频次测验的批改客观题、计分、登分等占用,被迫压缩了备课、精准辅导的时间。
今天小编带大家做一款解放教师的自动阅卷系统。
几千张的答题卡扫描录入电脑阅卷系统,老师们只需打开电脑登陆,即可找到自己要批改的那道题。
大大提高了改卷效率,降低合分数的错误率。整个过程保密学生姓名,公平公正。
答题卡识别:
(一)设置答题卡的位置坐标分为左上,右上,右下,左下。
def order_points(pts):
# 一共4个坐标点
rect = np.zeros((4, 2), dtype = "float32")
# 按顺序找到对应坐标0,1,2,3分别是 左上,右上,右下,左下
# 计算左上,右下
s = pts.sum(axis = 1)
rect[0] = pts[np.argmin(s)]
rect[2] = pts[np.argmax(s)]
# 计算右上和左下
diff = np.diff(pts, axis = 1)
rect[1] = pts[np.argmin(diff)]
rect[3] = pts[np.argmax(diff)]
return rect
(二)确保检测到:
if len(cnts) > 0:
# 根据轮廓大小进行排序
cnts = sorted(cnts, key=cv2.contourArea, reverse=True)
for c in cnts:
# 遍历每一个轮廓 # 近似
peri = cv2.arcLength(c, True)
approx = cv2.approxPolyDP(c, 0.02 * peri, True)
# 准备做透视变换
if len(approx) == 4:
docCnt = approx
break
(三)判断正确率
# 与正确答案进行对比
color = (0, 0, 255)
k = ANSWER_KEY[q]
# 判断正确 if k == bubbled[1]:
color = (0, 255, 0)
correct += 1
cv2.drawContours(warped, [cnts[k]], -1, color, 3)
#绘图
附源码:
现代的“机器阅卷”,工作便捷、效率高、易操作,只需要一个相机(手机),拍照即可获取成绩,可以导入Excel表格便于存档管理。
来源:https://blog.csdn.net/weixin_55822277/article/details/119820709
标签:python,自动阅卷,脚本,阅卷系统
0
投稿
猜你喜欢
C#应用XML作为数据库的快速开发框架实现方法
2024-01-19 12:00:01
如何在不同版本的SQL Server中存储数据
2009-01-15 13:06:00
js和jquery判断数据类型的4种方法总结
2023-08-25 08:49:18
Django Auth用户认证组件实现代码
2022-05-02 18:06:01
利用Python多处理库处理3D数据详解
2021-03-05 18:11:18
python将人民币转换大写的脚本代码
2021-03-05 17:36:23
php利用ob_start()清除输出和选择性输出的方法
2023-11-18 08:54:35
Redis数据库基础与ASP.NET Core缓存实现
2024-01-26 18:19:09
Python数据分析与处理(一)--北京高考分数线统计分析
2022-08-13 02:11:05
pandas 添加空列并赋空值案例
2022-12-04 13:48:16
Python中__init__.py文件的作用详解
2021-12-22 13:04:05
Python3导入CSV文件的实例(跟Python2有些许的不同)
2023-09-21 05:19:29
如何打包Python Web项目实现免安装一键启动的方法
2022-08-16 19:28:48
利用Python语言的grpc实现消息传送详解
2023-09-12 14:00:07
基于np.arange与np.linspace细微区别(数据溢出问题)
2021-08-29 23:46:25
Bootstrap Table 删除和批量删除
2024-05-25 15:17:21
Python3实现购物车功能
2021-01-15 08:43:10
Python Ajax爬虫案例分享
2023-09-01 19:24:35
如何利用Pandas删除某列指定值所在的行
2023-10-29 11:49:39
在 CentOS 7 中安装 MySQL 8 的教程详解
2024-01-17 03:33:56