1. 程式人生 > 其它 >Python-Opencv(11)-車牌識別-例項原始碼

Python-Opencv(11)-車牌識別-例項原始碼

技術標籤:opencvpython




應用:在視訊中掃描車牌號,按下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