Python中的车辆检测,计数和分类

时间:2014-05-15 02:16:20

标签: python-2.7 opencv blob background-subtraction simplecv

我必须最终计算视频中的车辆总数,区分汽车和卡车以及检测到的车辆的颜色。我正在使用OpenCV,Python和SimpleCV。到目前为止我所做的是: 1.背景减法 2.使用find.Blobs()查找blob

根据斑点的大小,我可以区分汽车和卡车。但是,当我在前景蒙版上找到斑点的数量时,所有斑点都是白色的。所以我的问题是如何才能找到检测到的车辆的颜色?

2 个答案:

答案 0 :(得分:0)

您假设车辆主要是一种颜色,因此您正在寻找每个斑点的平均颜色,不是吗? 这应该在每个宽度为3的blob周围绘制一个矩形,矩形颜色是平均颜色。

随意优化:)

for blob in blobs:
    a=blob.meanColor()
    mc=(int(a[0]), int(a[1]), int(a[2]))
    rect=blob.boundingBox()
    img.drawRectangle(rect[0], rect[1], rect[2], rect[3], mc, 3)
img.show()

答案 1 :(得分:0)

另一个有趣的方法是使用OpenCV HOG + SVM分类器来检测车辆。看看这个博客: https://medium.com/@priya.dwivedi/automatic-vehicle-detection-for-self-driving-cars-8d98c086b161#.6x2k4szf5