Python-Opencv(11)-車牌識別-例項原始碼
阿新 • • 發佈:2021-01-08
應用:在視訊中掃描車牌號,按下s鍵,可儲存車牌到資料夾中。
demo
import cv2 nPlateCascade = cv2.CascadeClassifier("Resources/haarcascades/haarcascade_russian_plate_number.xml") img = cv2.imread("Resources/carNumber.jpg") minArea = 100 color = (255,0,255) count=0 while True: #視訊用 success,img = cap.read() imgGray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) numberPlates = nPlateCascade.detectMultiScale(imgGray, 1.1, 4) for (x, y, w, h) in numberPlates: area = w*h if area > minArea: cv2.rectangle(img, (x, y), (x + w, y + h), (255, 0, 0), 2) cv2.putText(img,"Number Plate",(x,y-5), cv2.FONT_HERSHEY_COMPLEX_SMALL,1,color,2) imgRoi=img[y:y+h,x:x+w] cv2.imshow("ROI", imgRoi) cv2.imshow("result", img) if cv2.waitKey(1)&0XFF == ord('s'): cv2.imwrite("Resources/Scanned/NoPlate_"+str(count)+".jpg",imgRoi) cv2.rectangle(img,(0,200),(640,300),(0,255,0),cv2.FILLED) cv2.putText(img,"Scan saved",(150,265),cv2.FONT_HERSHEY_DUPLEX, 2,(0,0,255),2) cv2.imshow("result",img) cv2.waitKey(500) count +=1