您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:我用Python给班主任写了一个自动阅卷脚本(附源码)

51自学网 2021-10-30 22:17:27
  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 ##!欢迎!

​​

到此这篇关于我用Python给班主任写了一个自动阅卷脚本(附源码)的文章就介绍到这了,更多相关Python自动阅卷脚本内容请搜索51zixue.net以前的文章或继续浏览下面的相关文章希望大家以后多多支持51zixue.net!


python基础之Numpy库中array用法总结
Python如何使用print()函数输出格式化字符串
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。