我用Python給班主任寫了一個自動閱卷腳本(附源碼)
導語
幼兒園升小學,小學升中學,中學升高中..........
每個人都要經(jīng)歷的九年義務教育:伴隨的都是作業(yè)、隨堂考、以及每個科目的大大小小的考試。當然小編被考試支配的恐懼以及過去了哈~除了學生考試的壓力之外。
有調查發(fā)現(xiàn),目前老師大量的時間被小型考試,如課堂測驗、周測等高頻次測驗的批改客觀題、計分、登分等占用,被迫壓縮了備課、精準輔導的時間。
今天小編帶大家做一款解放教師的自動閱卷系統(tǒng)。
幾千張的答題卡掃描錄入電腦閱卷系統(tǒng),老師們只需打開電腦登陸,即可找到自己要批改的那道題。
大大提高了改卷效率,降低合分數(shù)的錯誤率。整個過程保密學生姓名,公平公正。
答題卡識別:
(一)設置答題卡的位置坐標分為左上,右上,右下,左下。
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: # 根據(jù)輪廓大小進行排序 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) #繪圖
附源碼:
現(xiàn)代的“機器閱卷”,工作便捷、效率高、易操作,只需要一個相機(手機),拍照即可獲取成績,可以導入Excel表格便于存檔管理。
總結
解放老師的雙手,節(jié)省時間給大家補習 !23333........不用太感謝我,好事不留名!
愛我你怕了嘛??!
源碼基地:## 959755565 ##!歡迎!
到此這篇關于我用Python給班主任寫了一個自動閱卷腳本(附源碼)的文章就介紹到這了,更多相關Python自動閱卷腳本內容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持本站!
版權聲明:本站文章來源標注為YINGSOO的內容版權均為本站所有,歡迎引用、轉載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內容涉嫌侵權,請聯(lián)系alex-e#qq.com處理。