车速检测

这篇博客介绍了模式识别作业中的车速检测方法,包括基于目标检测和虚拟线圈法。虚拟线圈法通过监测像素变化来计算车速,而目标检测法则依赖于车辆定位。博主分享了设置可视化虚拟线圈的过程,以及利用背景差分法检测汽车的方法,尽管这种方法存在误差。最终,博主提到实际项目中需要考虑更多因素,并展示了识别车速的示例结果。
摘要由CSDN通过智能技术生成

车速检测

这是我的第一篇博客哈哈,、受到疫情的影响,在家完成模式识别的作业。本次是模式识别作业的其中一个,车速检测,在此记录一下,好日后查找,当然,如果能对大家有帮助,我将会很高兴滴。话不多说,我们看重点。
基于视频的实时车速检测有两种方法,一种是目标检测法,另一种是线圈法。前者就是检测出每一帧中车的位置,然后根据相机标定的值得到车在实际道路上的位移,通过距离除以时间就能得到车速。后者是在固定的两个位置分别设置两个虚拟线圈(为啥叫虚拟线圈,因为实际上这两个位置是人为圈出来的)。当汽车经过虚拟线圈时,这个区域的像素值会改变。当检测到像素值发生改变时,记录当前帧数,两个帧数相减得到汽车经过两个虚拟线圈的帧数,然后根据视频帧率得到时间,最后就是距离除以时间就能得到车速。
整体检测流程如下图所示
在这里插入图片描述

可视化虚拟线圈

这个对车速检测没有任何关系,纯粹是是我们能肉眼看到设置的线圈的位置,毕竟眼见为实嘛。
在图像上画线

function [ dest ] = DrawVirtualbox( src, pt, wSize,  lineSize, color )
% %将图像画上有颜色的框图,如果输入是灰度图,先转换为彩色图像,再画框图
% 图像矩阵
% 行向量方向  是  y
% 列向量方向  是  x
%----------------------------------------------------------------------
%输入:
% src:        原始图像,可以为灰度图,可为彩色图
% pt:         左上角坐标   [x1, y1]
% wSize:   框的大小      [wx, wy]
% lineSize: 线的宽度
% color:     线的颜色      [r,  g,  b] 
%----------------------------------------------------------------------
%输出:
% dest:           画好了的图像
%----------------------------------------------------------------------
%flag=1: 有缺口的框
%flag=2: 无缺口的框

flag = 2;

%判断输入参数个数
if nargin < 5
    color = [255 255 0];
end

if nar
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值