首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenCV Python车牌检测

OpenCV Python车牌检测
EN

Stack Overflow用户
提问于 2016-04-01 22:06:33
回答 1查看 4.5K关注 0票数 3

我正在使用HoG进行车牌检测。我现在处于测试阶段。当我使用

代码语言:javascript
复制
hog.detectmultiscale()

为了定位车牌,我只得到了一个矩形的假阳性定位。此外,上面的函数还为我测试过的所有图像返回相同的点集。这些点的集合总是我用来计算HoG特征的winstride的倍数。

代码如下:

代码语言:javascript
复制
hog = cv2.HOGDescriptor((64,64), (16,16), (8,8), (8,8), 9)
svm = cv2.SVM()
svm.load('trained.xml')
img = cv2.imread('6.png', cv2.IMREAD_COLOR)
h = hog.compute(img) 
p = svm.predict(h)
print p

model = pickle.load(open("svm.pickle"))
hog.setSVMDetector(np.array(model)) 
rects, weights= hog.detectMultiScale(img, 1.5, (7,7),(10,10), 1,1)  

for (x, y, w, h) in rects:
   cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2)
   print x,y,w,h

cv2.imshow('plate', img)
cv2.waitKey(0) 
cv2.destroyAllWindows()

你能告诉我如何正确定位车牌吗?

以下是结果的快照:

EN

回答 1

Stack Overflow用户

发布于 2017-04-27 13:53:02

我认为Billal说的是对的,特别是第一点。在您的示例中,HOG的检测器大小为64*64(hog = cv2.HOGDescriptor((64,64),(16,16),(8,8),(8,8),9))。它只能找到相同或近似长宽比的子图像。你应该在你的检测器和训练中改变窗口大小。合适的比例应该是1:4(取决于你的图片)。我最近专注于这一点,我使用了数千张图片,但似乎效果也不好,只有50%的成功率,也许你应该尝试其他描述符。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36358444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档