5.4.5 车牌提取
在这一步中,将介绍如何使用数字图像处理技术从夜间交通帧中提取车牌,并确保在不同条件下的稳定性和准确性。定义函数 extract_license_plate,用于从给定的图像帧中提取车牌。首先,它将图像转换为灰度图并应用CLAHE直方图均衡化以增强对比度。然后,通过腐蚀操作去除噪声,并找到非黑色像素的边界框。接下来,它在边界框内使用Haar级联分类器检测潜在的车牌位置,并在原始图像上绘制矩形来标记检测到的车牌位置。最后,它将检测到的车牌裁剪并存储在列表中,同时返回带有标记车牌位置的原始图像。
def extract_license_plate(frame, mask_line):
# 将图像转换为灰度图(Haar级联通常在灰度图像上进行训练)
gray = cv2.cvtColor(mask_line, cv2.COLOR_BGR2GRAY)
# 应用CLAHE来均衡直方图
clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8,8))
gray = clahe.apply(gray)
# 使用2x2的核来腐蚀图像以去除噪声
kernel = np.ones