Python自动阅卷脚本 我用Python给班主任写了一个自动阅卷脚本(附源码)
顾木子吖 人气:0想了解我用Python给班主任写了一个自动阅卷脚本(附源码)的相关内容吗,顾木子吖在本文为您仔细讲解Python自动阅卷脚本的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:python自动阅卷,Python自动阅卷脚本,下面大家一起来学习吧。
导语
幼儿园升小学,小学升中学,中学升高中..........
每个人都要经历的九年义务教育:伴随的都是作业、随堂考、以及每个科目的大大小小的考试。当然小编被考试支配的恐惧以及过去了哈~除了学生考试的压力之外。
有调查发现,目前老师大量的时间被小型考试,如课堂测验、周测等高频次测验的批改客观题、计分、登分等占用,被迫压缩了备课、精准辅导的时间。
今天小编带大家做一款解放教师的自动阅卷系统。
几千张的答题卡扫描录入电脑阅卷系统,老师们只需打开电脑登陆,即可找到自己要批改的那道题。
大大提高了改卷效率,降低合分数的错误率。整个过程保密学生姓名,公平公正。
答题卡识别:
(一)设置答题卡的位置坐标分为左上,右上,右下,左下。
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表格便于存档管理。
总结
解放老师的双手,节省时间给大家补习 !23333........不用太感谢我,好事不留名!
爱我你怕了嘛??!
源码基地:## 959755565 ##!欢迎!
加载全部内容