智能车摄像头组 障碍处理方法
来源:互联网 发布:全国软件开发专业人才 编辑:程序博客网 时间:2024/06/04 18:36
智能车摄像头组中最重要的就是图像处理了,这里面的图像处理包括很多方面,比如十字如何处理,弯道如何处理,起跑线,障碍等等问题,接下来我要讲的就是障碍处理方法。
首先我们先描述一下障碍的形状,在智能车竞赛中障碍是一个长方形,距离边界有5CM的距离,这样在图像上显示出来时候就是(图1)所显示的样子
在这里面我们可以看到中线有明显的偏移,右边界也有明显的跳变,那么这个跳变我要怎么去提取呢,我第一步用的就是中心线的方差,通过计算方差来判断是否能够进入障碍程序,当中线的方差满足障碍条件后进入障碍处理程序,但是往往一个判断是不够准确的,进入这一个条件后我去判断边界的连续性,就是通过边界的跳变去查找,程序上如何实现呢,最简单的就是这样一句话。
if(cha1>=2&&abs(cha3-cha1)<=2&&abs(cha2-cha3)<=2)在这里面cha1,cha2,cha3的定义呢就是
cha1=right_line[1][i-3]-right_line[1][i]; cha2=right_line[1][i-3]-right_line[1][i+1]; cha3=right_line[1][i-3]-right_line[1][i+2];这里的定义就顾名思义了,就是判断连续点之间的差分,进而可以判断是否有跳变。判断完跳变之后呢还是不能达到100%的准确率。接下来在做的判断就是找到中间这个黑色的障碍,通常这个障碍所占的位置比较大,而且在中线与右边界的中间部分向上搜索一定会有黑色的障碍出现,那么这个时候就可以判断出来这个位置是障碍了,这段程序呢也很简单,就判断黑白就可以了。
当障碍处理完成后要怎么做呢,接下来就是控制的问题,在我这里控制就是将从障碍开始以后所有的中线都移向左边,这样就可以控制小车很轻松的避开障碍了。以上说的是障碍在赛道右侧的时候,如果在赛道左侧则同理就能得出。并且起跑线处理方法也类似。如果出现剐蹭现象只需改变一下舵机P值就可以得到很好地改善效果了。具体程序见评论中的链接,因为纯属自己编写的程序所以不是免费下载的。如果有其他需求大家可以联系我继续写一些图像处理方法。小车的效果可以在本人QQ空间中观看,有视频。 联系方式见评论。
2 0
- 智能车摄像头组 障碍处理方法
- 浅谈智能车摄像头组斜入十字处理方法
- 浅谈全国大学生智能车竞赛-摄像头组图像处理及控制算法
- 智能车摄像头采集原理
- 飞思卡尔智能车(摄像头组)速度方案
- errdisabled 障碍处理
- Opencv调取摄像头失败的处理方法
- 通用产品设计的巨大障碍--软件配置数据--的通用化处理方法
- 基于CCD摄像头智能车分段PID控制算法设计
- 飞思卡尔智能车摄像头上位机…
- 飞思卡尔智能车之摄像头使用篇
- 飞思卡尔智能车摄像头矫正方案
- 智能小车——摄像头
- 飞思卡尔智能车总结 之中断的处理方法
- 智能电视普及必须跨越的九个障碍
- 智能车电源电路设计方法
- 全功能智能车之最后优化DMA摄像头,无FIFO摄像头的终结版程序(第四篇)
- 智能视频分析中的光照强度突然变化的处理方法
- lesson1~点亮第一个LED灯
- ubuntu设置root权限默认密码
- WebService学习整理
- 洛谷 P1615 西游记公司
- UUENCODE(UUE) 编码简介
- 智能车摄像头组 障碍处理方法
- IOS FMDB数据库相关操作
- 单片机简单程序
- 消息队列小实例二
- Spring学习
- AndroidStudio使用GitHub托管代码
- 简单文件系统的实现
- Java语言的关键字(保留字)
- Ember 翻译——教程一:创建你的 APP