基于Opencv的车流统计和简单测速方法

车流量和测试效果 链接: https://pan.baidu.com/s/1dS-610HJNLoD8QqlPgmfZw 提取码: jrqs 

基于Opencv的车流统计和简单测速方法_第1张图片

基于Opencv的车流统计和简单测速方法_第2张图片

视频效果的准确率和背景建模之后的前景分离效果直接挂钩,可以针对背景建模之后进行阴影消除或者使用区域联通等方法优化前景。下面记录的是一个大概的思路。

一、 预处理:

1、降低帧分辨率

2、设置RoI

3、透视变换

4、高斯模糊

5、背景建模

6、形态学滤波

7、外接矩形框出车辆并计算质心位置

二、车流量思路 

如下图所示:

1、在RoI中设置一个窄带

2、当车量第一次进入窄带的时候我们统计车辆个数,并利用标志位将该区域设置为已经检测过。

3、直到车辆离开窄带,恢复标志位

这里需要需要划分车道线(x轴),判断车辆是否进入窄带(y轴)

基于Opencv的车流统计和简单测速方法_第3张图片

三、测速思路:

大前提:不超车、不变道...

小前提:车距大于等于 distance(窄带1,窄带2),条件还是比较苛刻的,但是实际车距也应该比这个大,哈哈哈

如图所示:

1、记录第一个进入窄带1的车的质心Point1和当前帧数frameNumber1

2、记录第一个进入窄带2的车的质心Point2与当前帧数frameNumber2

3、

speed = distance(Point1,Point2)/ (frameNumber2-frameNumber2)* (1/FPS) pixel/s

基于Opencv的车流统计和简单测速方法_第4张图片

四、源码 

看到很多人问源码的,我整理了一下上传到github了,希望对大家有帮助,第一次上传,如有问题多有包含:https://github.com/Pichairen/CarNumberAndSpeed 

在这里顺便推荐几个有用的工具:

1、调试的时候Mat可视化工具: Image Watch

2、免费视频录制软件: EV录屏

3、无损视频剪切软件:SolveigMM Video Splitter

 

 

你可能感兴趣的:(OpenCV基础)