基于MATLAB的运动车辆跟踪检测系统

一、课题介绍

本设计为基于MATLAB的运动车辆跟踪检测系统。带有一个GUI界面,可以读取高速路车流视频,读取视频信息,并且统计每辆车经过左车道还是右车道,车速和平均速度检测,以及某一帧下的车流密度,以及最后总共经过的车辆总数。将运动检测到的目标用方框框起来。是一个非常不错的选题。

二、实现功能

车流密度:一定时间内经过车辆的总数;

车流量:某一帧下的车辆数目;

车速:经过车辆的实时速度;

平均速度:所有车辆的平均速度;

三、GUI界面以及运行预期效果

GUI设计图

GUI运行效果图

四、主要源码

1、视频读取

filename, cd1\] = uigetfile( ... {'\*.avi;\*.mp4;'},'Pick an Video'); if filename filename = \[cd1,filename\]; video = vision.VideoFileReader(filename, 'ImageColorSpace', 'RGB'); end axes(handles.axes1); set(gca,'Xtick',\[\]); set(gca,'Ytick',\[\]); box on; 2、判定车道以及车速 thresh = 120; % 判定左车道和右车道分届的阈值 for n = 1 : size(bbox,1) fprintf('y: %f \\n',bbox(n,2)); pos = bbox(n,1) + bbox(n,3); if bbox(n,2) \< 45 \&\& bbox(n,2) \> 35 if pos \< thresh \&\& (size(left,1) == 0 \|\| i - left(size(left,1)) \> 4) % 记住刚进入的车 left = \[left;i\]; elseif (size(right,1) == 0 \|\| i - right(size(right,1)) \> 4) right = \[right;i\]; end else fm = 30; % 视频帧率,参数可调,这里假设为30帧每秒 len = 30; % 视频中路段的长度,参数可调,这里先定位100m if pos \< thresh % 判断要开出该区域的车 if bbox(n,2) \> 85 \&\& size(left,1) \> 0 vleft = i - left(1,1) + 2; % 这里计算左车道车速,帧数 if vleft \< 30 \&\& vleft \> 4 % 因为车速再慢也会大于一定速度 left(1,:) = \[\]; t = vleft/fm; % 计算实际时间 帧数/每秒帧数 vleft = len/t; % 计算实际车速 距离/实际时间,vl为坐车道速度 v1=v1+vleft; v1 fprintf('左车道,车速: %f \\n',vleft); set(handles.edit_speed,'string',strcat('左车道:',num2str(vleft))); else left(1,:) = \[\]; end end else if bbox(n,2) \> 80 \&\& size(right,1) \> 0 vr = i - right(1,1); % 这里计算右车道的车速,这里还是帧数 if vr \< 35 right(1,:) = \[\]; t = vr/fm; % 计算实际时间 帧数/每秒帧数 vr = len/t; % 计算实际车速 距离/实际时间 v2=v2+vr fprintf('右车道,车速: %f \\n',vr); set(handles.edit_speed,'string',strcat('右车道:',num2str(vr))); else right(1,:) = \[\]; end end end end 3、车辆计数 for j=1:(i-2) %对检测到的车辆进行求和 if count(j)==0 \& count(j+1)\>0 k=j+1; else if count(j)\>0 \& count(j+1)==0 q=j; summ1=summ1+max(count(k:q)); cheliang_jishu(p)=max(count(k:q)); p=p+1; end end end

相关推荐
Victory_202531 分钟前
c#定时器顺序控制写法
开发语言·c#·c#顺序控制+定时器
Cyber4K1 小时前
【Python专项】Nginx访问日志分析时间范围处理示例
开发语言·python·nginx
中犇科技1 小时前
郑州无代码APP开发公司哪家好呢?推荐
开发语言
周末也要写八哥1 小时前
代码中的注释的重要性(二)
开发语言·python
江南十四行2 小时前
Python生成器与协程:从迭代器到异步编程的进阶之路
开发语言·python
测试员周周3 小时前
【AI测试功能3】AI功能测试的三层架构:单元测试 → 集成测试 → E2E测试——AI系统测试金字塔实战指南
开发语言·人工智能·python·功能测试·架构·单元测试·集成测试
lly2024063 小时前
AppML 案例原型
开发语言
jllllyuz3 小时前
MATLAB 回声抵消(AEC)、噪声抑制(NS)、自动增益控制(AGC)完整实现
开发语言·matlab
froginwe113 小时前
Vue.js 计算属性
开发语言
05候补工程师3 小时前
【408 从零到一】线性表逻辑特征、存储结构对比与 C/C++ 动态内存分配避坑指南
c语言·开发语言·数据结构·c++·考研