python用opencv计算汽车间距_在OpenCV中如何使用Python计算汽车数量?

本文介绍了一种使用OpenCV和Python来计算停车场内汽车数量的方法。通过模板匹配确定车位空缺,结合方差分析以区分深色汽车,并通过连续像素阈值检测来确定汽车的位置。最后,通过计算空车位数量来得出汽车总数。
摘要由CSDN通过智能技术生成

好吧,那么。。。。我可能在这方面做了太多的工作,但似乎很简单。在

为了实现我的目标,我决定最好找到空置的停车位,并假设所有其他车位都被占用了。为了确定一个位置是否是空的,我只是将它与一个停车位大小的道路部分进行了比较。这意味着无论是亮的还是暗的,同样的算法都应该起作用,因为模板是直接从图像中提取出来的。在

现在我只做模板匹配(我尝试了各种方法,但是cv2.TM_CCORR_NORMED效果最好)。这是一个不错的结果,现在我们需要处理它。在

cXleI.png

我在停车场行周围创建roi(感兴趣的区域)。然后通过对每列进行统计,将它们压缩成一个向量。我看这是卑鄙的。

14724f1bac42340901d1b1100dbfb009.png

这是一个很好的指标,你已经可以清楚地看到空位在哪里。但是深色汽车仍然存在一些问题,所以现在我们决定看看另一个统计数据,方差如何?整个地区的停车场都很固定。另一方面,汽车也有一些变化,车窗、车顶行李架的后视镜也会有所不同。所以我画了“反转”方差。所以它的方差不是没有变化,而是方差是1。看起来像这样

0efa30c74321cad1b12b62755de4d8b1.png

这看起来很有前途!但你知道还有什么更好吗?把两者结合起来!所以让我们把它们相乘,我把这个结果叫做“概率”,因为它应该在0和1之间

rzfUD.png

现在你真的可以看到空白和黑暗的车之间的区别了。让我们做一些简单的阈值。这很好,但它没有给出车辆/空位的数量。在这一点上,我们一列一列地检查“概率”,并寻找超过阈值的特定数量的连续像素。多少像素?像素和汽车的宽度差不多。这种“滞后”型模型应能抑制任何峰值或虚假数据点。在

现在,我们假设空间的数量是恒定的(我认为这是合理的假设),我们只需说number of cars = number of spaces - number of empty spaces并标记图像

58e1971f1631b476e77248f320cd6dbc.png

打印一些结果found 24 cars and 1 empty space(s) in row 1

found 23 cars and 0 empty space(s) in row 2

found 20 cars and 3 empty space(s) in row 3

found 22 cars and 0 empty space(s) in row 4

found 13 cars and 9 empty space(s) in row 5

当然还有密码。它可能不是最有效的,但我通常是一个matlab人,这是我的第一个openCV/Python项目

^{pr2}$

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值