opencv车牌识别例程
时间: 2023-07-07 19:40:13 浏览: 92
以下是使用OpenCV进行车牌识别的一个简单例程:
```
import cv2
import numpy as np
# 读取图片
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.copy(), cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
# 找到所有矩形轮廓
rects = [cv2.boundingRect(contour) for contour in contours]
# 筛选出符合条件的矩形轮廓
for rect in rects:
x, y, w, h = rect
if 0.8 <= w / h <= 4 and 1000 <= w * h <= 8000:
cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2)
# 显示结果
cv2.imshow('result', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在该例程中,首先读取一张车辆图片,然后将其转换为灰度图像,利用高斯滤波平滑图像,进行图像二值化,找到图像中所有的轮廓,并筛选出符合条件的矩形轮廓,最后在原图上绘制出车牌矩形框并显示出来。
阅读全文