失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > python利用opencv进行车牌号识别定位

python利用opencv进行车牌号识别定位

时间:2020-12-15 14:00:35

相关推荐

python利用opencv进行车牌号识别定位

import cv2import numpy as npimport matplotlib.pyplot as pltimg=cv2.imread("G:\\IDLE\\timg.jpg")img1=img[:,:,::-1]hsv=cv2.cvtColor(img.copy(),cv2.COLOR_BGR2HSV) #将图像转换成HSV格式gau= cv2.GaussianBlur(img.copy(),(5,5),9)#进行高斯滤波lower=np.array([100,50,50])#蓝色的下限upper=np.array([140,255,255]) #蓝色的上限mask=cv2.inRange(hsv,lower,upper) #进行掩膜res=cv2.bitwise_and(img.copy(),img.copy(),mask=mask)gray= cv2.cvtColor(res,cv2.COLOR_BGR2GRAY) #转为灰度图像ret,binary = cv2.threshold(gray,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU) #对灰度图像进行二值化处理kernel = cv2.getStructuringElement(cv2.MORPH_RECT,(3, 1))#闭操作closed = cv2.morphologyEx(binary, cv2.MORPH_CLOSE, kernel)contours,hierarchy = cv2.findContours(closed.copy(),cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE) #寻找轮廓(只找外围轮廓)draw_image=cv2.drawContours(img1.copy(),contours,-1,(255,0,0),10)#画出轮廓for i in range(len(contours)):x,y,w,h=cv2.boundingRect(contours[i]) ratio=w/hif ratio>2 and ratio<5.5: #一般车牌的宽高比大于2小于5.5cv2.rectangle(draw_image,(x,y),(x+w,y+h),(0,255,0),15)chepai=draw_image[y:y+h,x:x+w] #裁剪图像plt.subplot(121)plt.imshow(img1)plt.title("The original license plate",fontsize=20)plt.subplot(122)plt.imshow(chepai)plt.title("License plate cutting")#plt.imshow(draw_image)#plt.title("License plate location",fontsize=20)plt.show()

结果如下所示:

如果觉得《python利用opencv进行车牌号识别定位》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。