给出简单的车牌识别Python代码
时间: 2023-12-29 13:05:13 浏览: 80
以下是一个简单的基于Python的车牌识别代码示例,使用了OpenCV和Tesseract OCR库:
```
import cv2
import pytesseract
# 读取图像
img = cv2.imread('car.jpg')
# 将图像转为灰度
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 高斯滤波
blur = cv2.GaussianBlur(gray, (5, 5), 0)
# 二值化
thresh = cv2.threshold(blur, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)[1]
# 查找轮廓
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# 循环查找所有轮廓
for c in contours:
# 计算轮廓的边界框
x, y, w, h = cv2.boundingRect(c)
# 过滤过小的轮廓
if w > 50 and h > 20:
# 绘制边框
cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2)
# 裁剪出车牌区域
roi = thresh[y:y + h, x:x + w]
# 使用Tesseract OCR进行识别
text = pytesseract.image_to_string(roi, config='--psm 11')
# 打印识别结果
print('Plate Number:', text)
# 显示图像
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这个示例中,我们首先读取一张车辆图片,然后将其转换为灰度图像并进行高斯滤波和二值化。接下来,我们查找所有轮廓,并使用边框框出较大的轮廓,然后裁剪出车牌区域并使用Tesseract OCR进行识别。最后,我们打印出车牌号码并显示图像。
阅读全文