我必须最终计算视频中的车辆总数,区分汽车和卡车以及检测到的车辆的颜色。我正在使用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