2022-06-04 18:09:41 索煒達電子 1779
文件編號:A329
文件大?。?/strong>29M
開發(fā)環(huán)境:Python3.8、OpenCV4.5、PyCharm2020
猿創(chuàng)承諾:該項目親測正常運行,需遠程調試部署需另外收費,確保正常使用,不能正常使用全額退款。
簡要概述:程序支持對一類固定模板的答題卡進行檢測選項、校對答案的功能。用戶只需拍攝一張角度偏差較小、亮度適中的答題卡照片,再提供標準答案文件,即可進行答題卡的掃描與答案評測。
**由于采用了比較簡單的檢測方法,所以對圖片的要求較高,最好在答題卡下面放置一張空白A4紙進行拍照,拍的照片不要有過大角度傾斜,拍到的卡要完整,照片內不要有其他干擾物品。**
使用說明:
到目錄下運行excute.py,選擇答題卡圖片、標準答案文件后,可比對答案并給出對錯和正確率評判。
環(huán)境變量中需有python3環(huán)境,需要cv2、pyqt5的依賴包。
python excute.py
文件說明:
sheet.py -- 讀取/掃描答題卡的功能函數(shù)
mainwindow.py -- 界面類
excute.py -- 啟動程序
test/ -- 正常的測試的圖片和答案文件
在運行過程中,當前目錄下出現(xiàn)的jpg文件是過程中產生的臨時文件
相關技術:
尋找圖形輪廓
尋找一個圖形輪廓前,需要先對輸入的圖片的一個復制進行以下幾個操作:
1. 轉換成灰度圖
2. 進行高斯模糊以消除噪聲、模糊細節(jié)
3. 用Canny邊緣檢測獲取圖中的所有輪廓
4. 在輪廓圖中獲取所有輪廓并用極點表示
然后將所有輪廓按照大小進行降序排序,在應用中認為最大的一個矩形輪廓(有4個極點)就是答題區(qū)域的邊緣矩形。找到的極點坐標在原圖上也是在相同的位置。
四點透視變換調整圖片
手機拍攝的圖片會有一些角度的偏轉,可以找到四個矩形的極點后,基于這四個極點對整張圖片進行四點透視變換,把圖片調整正,以方便進一步的使用。
找到涂黑的選項的坐標位置
對于二值化后的圖找輪廓,然后對輪廓進行矩形擬合,如果找到了跟選項框大小相近的輪廓,就認為是涂黑的選項,然后對這個輪廓求矩值,由這個公式可求出輪廓的重心:cX=int(M["m10"]/M["m00"]),cY=int(M["m01"]/M["m00"])。
劃分各個涂卡區(qū)域
答題卡上有答題區(qū)域、學號區(qū)域、科目區(qū)域,這些區(qū)域都有固定的相對位置和相對大小,因此在尋找若干次矩形輪廓并排除掉最大的區(qū)域后(切圖實現(xiàn)),可在剩余的圖里找輪廓以確定區(qū)域。
確定選項的值與對應題號
對答題卡進行透視變換后,每個位置對應的選項和題號都是固定的,通過人為的測量一些位置并記錄,即可確定每個坐標對應的選項與題號。
按需寫作:
演示視頻:
點擊查看:系統(tǒng)演示視頻
運行結果:
遠程協(xié)助:
溫馨提示:索煒達.猿創(chuàng)官方提供收費遠程協(xié)助,確保您項目運行成功。
點擊查看:遠程協(xié)助相關事項
我們提供完整項目文件清單如下:
文件目錄
├ 1.項目源碼
├ 2.運行截圖
└ 3.演示視頻