# COMPARE THE VALUES TO FIND THE CORRECT ANSWERS grading = [] for x in range(0, questions): if ans[x] == myIndex[x]: grading.append(1) else: grading.append(0) #print("GRADING",grading) score = (sum(grading) / questions) * 100 # FINAL GRADE #print("SCORE",score) # DISPLAYING ANSWERS utlis.showAnswers(imgWarpColored, myIndex, grading, ans) # DRAW DETECTED ANSWERS utlis.drawGrid(imgWarpColored) # DRAW GRID imgRawDrawings = np.zeros_like( imgWarpColored) # NEW BLANK IMAGE WITH WARP IMAGE SIZE utlis.showAnswers(imgRawDrawings, myIndex, grading, ans) # DRAW ON NEW IMAGE invMatrix = cv2.getPerspectiveTransform( pts2, pts1) # INVERSE TRANSFORMATION MATRIX imgInvWarp = cv2.warpPerspective( imgRawDrawings, invMatrix, (widthImg, heightImg)) # INV IMAGE WARP # DISPLAY GRADE imgRawGrade = np.zeros_like( imgGradeDisplay, np.uint8) # NEW BLANK IMAGE WITH GRADE AREA SIZE cv2.putText(imgRawGrade,
myIndex.append(myIndexVal) # Compare the value to find the correct ones grading = [] for x in range(0, questions): if ans[x] == myIndex[x]: grading.append(1) else: grading.append(0) score = (sum(grading) / questions) * 100 # Dispaly answers utlis.showAnswers(imgWarpColored, myIndex, grading, ans) utlis.drawGrid(imgWarpColored) # New blank image with the size of the warpped image imgRawDrawings = np.zeros_like(imgWarpColored) utlis.showAnswers(imgRawDrawings, myIndex, grading, ans) # Inverse the transformation matrix invMatrix = cv2.getPerspectiveTransform(pts2, pts1) imgInvWarp = cv2.warpPerspective(imgRawDrawings, invMatrix, (widthImg, heightImg)) # Display grade imgRawGrade = np.zeros_like(imgGradeDisplay, np.uint8) cv2.putText(imgRawGrade, str(int(score)) + "%", (70, 100), cv2.FONT_HERSHEY_COMPLEX, 3, (0, 255, 255), 3) invGradeMatrix = cv2.getPerspectiveTransform(ptsG2, ptsG1) imgInvGradeDisplay = cv2.warpPerspective(imgRawGrade,