gpt4 book ai didi

python - 如何使用python和OpenCV在图像中标记车牌

转载 作者:太空宇宙 更新时间:2023-11-03 21:45:55 24 4
gpt4 key购买 nike

我正在尝试使用带有 OpenCV 的 python 脚本来挑选图像中的车牌并返回坐标/在车牌周围绘制边界框。我编写的脚本找不到车牌,它经常返回汽车的不同区域。

import numpy as np
import cv2

def find_license(image):
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
gray = cv2.bilateralFilter(gray, 11, 17, 17)
edged = cv2.Canny(gray, 30, 200)

cv2.imwrite('detect.png', edged)
(cnts, _) = cv2.findContours(edged.copy(), cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)
cnts=sorted(cnts, key = cv2.contourArea, reverse = True)[:20]

# loop over our contours
for c in cnts:
peri = cv2.arcLength(c, True)
approx = cv2.approxPolyDP(c, 0.02 * peri, True)
cv2.drawContours(image, [approx], -1, (0,255,0), 3)

# compute the bounding box of the of the paper region and return it
return cv2.minAreaRect(c)

最佳答案

如果您希望改进代码,我建议您先尝试对图像进行阈值处理,以仅返回与车牌关联的颜色。

(在英国是黄色和白色,取决于您所在的国家/地区)

这将删除图像中所有不是该颜色的部分,您的脚本可能更有可能工作

Here是一组非常有用的教程/工具的链接,可帮助您实现这一点(以及大多数其他计算机视觉问题)

另一个可能有帮助的过程是检查每个对象的每个轮廓的长度,并丢弃任何不在您设置的比率范围内的(即顶部和底部轮廓比两侧长),因为大多数车牌有一个标准尺寸(也许不是全部,同样我不知道你是为哪个国家制作的)

另一种方法完全是针对车牌训练您自己的 haar 级联分类器,这可能有更大的成功机会。为此,您将需要大量包含车牌的图像,甚至需要更多包含它们的图像。

Here是指向带有工具的教程的链接,可帮助您实现此目的。

按照教程操作,您应该最终得到一个 .XML 文件,它将成为您新训练的分类器。

Here是指向帮助您使用您的新分类器的教程的链接。我还建议阅读 haar 分类器的一般工作原理,因为这可以让您更好地了解使用哪些图像来训练您的分类器,以及您可以对图像使用哪些预处理技术来提高分类器的准确性。

祝你好运,希望这对你有帮助。

关于python - 如何使用python和OpenCV在图像中标记车牌,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28730578/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com