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