Python识别车牌号怎么实现?Python如何识别图片中的车牌

在之前的一篇文章之中小编已经给大家介绍过了python中是如何使用opencv库来完成人脸识别的,而车牌号识别也可以使用到这个库 。不过它还需要用到文字识别的模块才可以,下文会给大家介绍一下python是如何识别图片中的车牌号,一起往下看看吧 。

Python识别车牌号怎么实现?Python如何识别图片中的车牌


1.第一步就是要将所需要的模块opencv和Tesseract库给安装好才可以导入,导入完成之后还是一样建立一个Haar级联器对象 。所需要的xml文件在opencv库安装目录中的data文件夹中可以直接找到,代码如下:
import cv2import pytesseractcarer = cv2.CascadeClassifier('./haarcascades/haarcascade_russian_plate_number.xml')2.级联器创建完成之后就是要导入图片并且将其灰度化转为二值图像了,图像转换完成之后就需要调用接口来将车票号在图像中给识别出来了 。因为色彩的差异造成的值高低也是不同的,有了这样的区分识别车牌就很方便了,代码如下:
img = cv2.imread('chinacar.jpeg')gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)cars = carer.detectMultiScale(gray, 1.1, 3)for (x,y,w,h) in cars:    cv2.rectangle(img, (x,y), (x+w, y+h), (0,0,255), 2)roi = gray[y:y+h, x:x+w]3.将图像中的车票号识别出来之后会使用一个方框在图像中将车票给标注起来,然后还需要去调用image_to_string()方法识别方框中的车票并得到车牌号的字符值 。得到字符值之后可以使用print()函数把它给打印出来,也能够再将车票号以文字的形式添加到图像中的某一个位置,详细代码如下所示:
ret,roi_bin=cv2.threshold(roi,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)pytesseract.pytesseract.tesseract_cmd=r"D:\Tesseract_OCR\tesseract.exe"text = pytesseract.image_to_string(roi,lang='chi_sim+eng',config='--psm 8 --oem 3')cv2.putText(img, text,(20,100),cv2.FONT_HERSHEY_SIMPLEX,2,(0,0,255), 3)cv2.imshow('img', img)【Python识别车牌号怎么实现?Python如何识别图片中的车牌】以上就是关于“Python识别车牌号怎么实现?Python如何识别图片中的车牌”的全部内容了,希望对你有所帮助 。

    猜你喜欢