智能车摄像头算法——车库(识别斑马线)
2021/12/11 17:17:52
本文主要是介绍智能车摄像头算法——车库(识别斑马线),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
车库分为出库和第一圈处理斑马线还有第二圈入库
出库
第一种方法比较简单,适合小白。出库,一个比较明显的特征就是比赛的开始,你可以用按键来开始打脚,配合陀螺仪积分到一定值时(也就是出库到直道上)正常巡线循迹。
第二种方法
首先从巡线方面需要重新寻(从最下面开始扫线,屏蔽斑马线,可以得到大约这样黑色的线(相册
里面没找到图片,凑合看哈,懂意思就行)
红色的是扫不到的,这种扫线方法跟八临域一个意思。这样我们就可以直接找到左右下拐点,然后开始拉线,正常循迹出库即可了。
第一圈 屏蔽斑马线,正常行驶
小车第一圈经过斑马线的情况下,不做处理,一般都会抖动的,所以我们要处理这个现象。
车库的识别跟环岛第一阶段特别像,1.一边是直线,一边丢线 2.斑马线
斑马线跟左边上下拐点是有一定的空隙的,所以他是会检测到丢线的。下面这段代码是检测斑马线的。大概意思就是,取几行然后从左到右 扫描黑白跳变点的次数,扫到第一个点(例如白点),我们记录下这个点,然后继续扫下一个点,拿这个点跟下一个点比较,如果颜色相同则跳过,如果不同则计数+1.然后把这个点变为作为比较点,继续扫描,扫到结束。然后如果计数大于一定的值,那基本就是斑马线,因为这个特征点非常明显,除了上坡道的时候乱看,其他地方应该不会有误判,这就是斑马线识别。
for(uint8 hang = 20;hang<35;hang++) { garage_count= 0 ; for(uint8 lie = 10;lie<100;lie++) { if(Pixle[hang][lie]==white) { white_black=1; } else { white_black=0; } if(white_black!=black_white) { black_white = white_black; garage_count++; } if(garage_count>11) { region++; } } if(region>2) { garageout_flag=1; break; } }
识别完,就可以处理了,老样子找到上下两个拐点,补线就可以了。
有的人说扫线会扫到斑马线,那就改变前瞻的控制行,或者直道够长的情况下锁舵机就行(个人补推荐)。
第二圈 入库
第二圈识别的方法和第一圈一样,我就不再说了。
入库的时候一样拉上拐点补线就行(扫线不要扫到斑马线哦,斑马线只进行判断)。
停车识别 第一种可以靠陀螺仪积分停车。
第二种 依靠识别停车
大概是这个样子,待看到右下角空白区域快消失的时候(类似于不丢线)或者右边线最小值大于莫个值的时候进行停车判断。
这篇关于智能车摄像头算法——车库(识别斑马线)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-05小米13T Pro系统合集:性能与摄影的极致融合,值得你升级的系统ROM
- 2024-10-01基于Python+Vue开发的医院门诊预约挂号系统
- 2024-10-01基于Python+Vue开发的旅游景区管理系统
- 2024-10-01RestfulAPI入门指南:打造简单易懂的API接口
- 2024-10-01初学者指南:了解和使用Server Action
- 2024-10-01Server Component入门指南:搭建与配置详解
- 2024-10-01React 中使用 useRequest 实现数据请求
- 2024-10-01使用 golang 将ETH账户的资产平均分散到其他账户
- 2024-10-01JWT用户校验课程:从入门到实践
- 2024-10-01Server Component课程入门指南