基于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

相关推荐
晨非辰1 天前
《剑指Offer:单链表操作入门——从“头删”开始破解面试》
c语言·开发语言·数据结构·c++·笔记·算法·面试
sheji34161 天前
【开题答辩全过程】以 python杭州亚运会数据分析与可视化开题为例,包含答辩的问题和答案
开发语言·python·数据分析
weixin_446260851 天前
快速构建网站的利器——Symfony PHP框架
开发语言·php·symfony
王夏奇1 天前
C语言中#pragma的用法
c语言·开发语言
李宥小哥1 天前
C#基础10-结构体和枚举
java·开发语言·c#
带娃的IT创业者1 天前
第4集:配置管理的艺术:环境变量、多环境配置与安全实践
开发语言·python·安全·项目配置·开发基础
省四收割者1 天前
Go语言入门(20)-nil
开发语言·vscode·golang
19岁开始学习1 天前
Go语言中的Zap日志库
开发语言·golang·xcode
数据知道1 天前
Go基础:用Go语言操作MongoDB详解
服务器·开发语言·数据库·后端·mongodb·golang·go语言
爱喝白开水a1 天前
2025时序数据库选型,从架构基因到AI赋能来解析
开发语言·数据库·人工智能·架构·langchain·transformer·时序数据库