我最终必须计算视频中的车辆总数,区分汽车和卡车以及检测到的车辆的颜色。为此,我正在使用 OpenCV、Python 和 SimpleCV。到目前为止我所做的是: 1. 背景减法 2. 使用 find.Blobs() 来查找 blob
根据 blob 的大小,我可以区分汽车和卡车。但是,当我发现前景蒙版上的斑点数量时,所有斑点都是白色的。所以我的问题是如何找出检测到的车辆的颜色?
我最终必须计算视频中的车辆总数,区分汽车和卡车以及检测到的车辆的颜色。为此,我正在使用 OpenCV、Python 和 SimpleCV。到目前为止我所做的是: 1. 背景减法 2. 使用 find.Blobs() 来查找 blob
根据 blob 的大小,我可以区分汽车和卡车。但是,当我发现前景蒙版上的斑点数量时,所有斑点都是白色的。所以我的问题是如何找出检测到的车辆的颜色?
您假设车辆主要是一种颜色,因此您正在寻找每个斑点的平均颜色,不是吗?这应该在每个宽度为 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()
另一个有趣的方法是使用 OpenCV HOG + SVM 分类器来检测车辆。查看此博客: https ://medium.com/@priya.dwivedi/automatic-vehicle-detection-for-self-driving-cars-8d98c086b161#.6x2k4szf5