应用:在视频中扫描车牌号,按下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

 

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐