基于matlab的运动目标跟踪的程序,基于 MATLAB 的运动目标轨迹追踪

智能车图像处理与识别算法研究 RoadType=SmallCurve; else if(R<5&&L<5) { if(((Centre_Line[MinEnd+2]>65)ll(Centre_Line[MinEnd+2]< 53))&&MinEnd<5) //当前赛 道右入弯或者左入弯 RoadType=StraightToBendCurve; else RoadType=StraightCurve; //当前赛道为直道 } else RoadType=StraightCurve; //当前赛道为直道人弯(90 度弯) ) 3_2弯道曲率和斜率的计算方法 3-2.1斜率 智能车比赛的赛道是由两条黑色的边线构成的,在提取出 这两条边线 之后 ,可以通过测量道路的斜率 和车子与道路的偏 移来计算偏 差 ,偏移的正负也代表了车子偏 向于哪一边 。斜率 我们取较长的一边作为基准。简单的方法 为,在较 长的一边 中取 两点则可计算 出斜率 。经过实践 ,采用最小二乘法 (又称最小平 方法 ),它通过最小化误差 的平方和 寻找数据 的最佳 函数 匹配 。 最小二乘法使得这些求得 的数据与实际数据之间误差 的平方和 为最小。最小二乘法还适用于曲线拟合 ,可以将一连 串离散 的点 拟合成一条最接 近的线 。在第八届智能车摄像头组 比赛 中的一 个技术难点 ,就是虚线的控制策略 。我们在十字弯和虚线就是利 用最小二乘 法拟合赛道两边的黑线 ,这是一种最有效的赛道补 线处理方法。最小二乘法公式如下 : Y=a+bX (2) I ∑(.)c『— )( — ) ∑ 一nII lb= 上 ———一 = ——T 1 ∑ ( )。 ∑一 (3) 【 ’ ’ 式(2)就是最小二乘法拟合后的直线 Y。而式 (3)中 b就是 所求得的斜 率。 3_2.2 曲率 曲线的曲率 就是针对 曲线上某个点 的切线方 向角对弧长 的 转动 率 ,通 过微分 来定 义 ,表 明曲线 偏离直线的程度。如在图 10中 ,设 曲 线 C 光滑 ,曲线上点 M 对应于弧 S 在点 M处切线的倾角为 a,曲线上另 外一点 N对应 于弧 S+△S,在点 N处 切 线 的 倾 角 为 o【+△ 。 则 K lim △t-)O j J就是所得的曲率。因为在不同 图10 曲率示意图 的弯道其 曲率变化很大 ,而这十分有利于赛道 的辨别。在智能车 控制策略中在预判断后,通过 曲率判断弯道 的类型。 算法 的主要代码如下 : m.d=(uns.gned char)((11+i2)/2); //取始末点行数的一半为之间点 的行数 dyl=(Centre_Line[mid】+Centre—Line[mid+l】-Centre—Line[il]-Cen— tre _ Line[il+1】)/2: Centre_ Line[mid]为每行中心线的列号 . dy2=(Centre_Line 【i2】+Centre—Line [i2 】-Centre_Line [il】-Cen— tre _ Line[il+1])/2: dy3=(Centre_Line[i2]+Centre_Line[i2-1】-Centre—Line[mid]-Cen— tre _ Line [mid+1】)/2: PreCurvatureNum =dxl dy2-dx2 dyl: //两点到中心交点的距 离 PreCurvatureNum=PreCurvatureNum/2; //三角形面积 PreCurvatureDen=(Iong)m_sqrt(dxl

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值