深入浅出自动驾驶(一)-图像识别
来源:互联网 发布:淘宝上能买到的黑科技 编辑:程序博客网 时间:2024/05/19 11:49
这是自动驾驶的系列文章。自动驾驶的第一步是什么呢?当然,是识别当前环境,具体来说就是识别自己的正确道路-车道线,入下图所示
1 转为灰度图
彩色的图是没法识别出车道线的,所以我们需要把他转化为黑白的图像,入下图所示
大家知道,我们的图像都是由RGB三原色组成的,分别是0-255,所以,我们只要对非白色的做出处理,把他变成黑色即可,用伪码表示
loop 读取图像中的每一个像素 像素RGB < 阀值 #纯白是255,255,255 该像素 = 黑色end loop
2 将车道线叠加原图
当然,简简单单的识别出道路是不行的,我们还需要在原图中叠加道路,如上图所示,主要是一些裁剪合并之类的动作了。
3 边缘发现
之前的车道线都是白的,所以挺好做的,但是很不幸的是,车道并非都是白的,我们很可能遇到其它颜色的,而且有时候并不完整,如下图所示,所以我们需要其它的方法,比如说“边缘发现”
python提供了一个包,openCV,我们可以使用这个包来协助开发,在开发过程中还需要进行一些处理,其伪码如下
1 将整个图像转为灰度图,毕竟不需要那么多丰富的颜色2 进行简单的高斯模糊:GaussianBlur,以减少照片噪声和细节3 进行边缘发现
最终我们会得出如下图所示的结果
4 使用Hough Transform辨别车道线
进行边缘发现之后识别出车道线,如何识别车道线呢?车道线实际上在图像中表现为一条直线,所以我们的目标就是识别出长直线,所以,我们的目标就是识别出长直线的模式。
我们会用到一种叫做Hough Transform的方法,它是在1962有Hough发明的,它会把 y=mx+b映射成 b=xm+y,将直线变换成点,然后进行识别,如下图所示,车道线是一条路
然后把这条路映射成点
以方便识别
进行Hough Transfom后会变成这个样子
而后我们进行优化,好了后会变成这样
这样,我们就成功的识别出了车道线
(完)
- 2016年12月15日发布
- 更多
你可能感兴趣的文章
阅读全文
0 0
- 深入浅出自动驾驶(一)-图像识别
- 自动驾驶叉车(一)
- Udacity自动驾驶课程笔记(一)
- 第六十八篇:从ADAS到自动驾驶(一):自动驾驶发展及分级
- 自动驾驶 (资料)
- 人工智能之自动驾驶系列(一):概要
- 人工智能之自动驾驶系列(一):概要
- 自动驾驶
- 自动驾驶
- 自动驾驶
- 基于ROS的Most Stars开源代码汇总(自动驾驶汽车+RGBDSLAMv2+ROS2+人识别与跟踪等)
- 今天,送你一份交通行业最全数据集(共享单车、自动驾驶、网约出租车、交通信号识别)
- 世界一维、二维码及自动图像识别公司整理集合
- 【自动驾驶】深度学习用于自动驾驶技术 DeepDriving(ICCV 2015)
- 【自动驾驶】深度学习用于自动驾驶技术 DeepDriving(ICCV 2015)
- Java OCR tesseract 图像智能字符识别技术(一)
- OCR图像识别技术的JAVA实现(一)
- SqueezeDet:一种应用于自动驾驶实时目标检测中的标准、小型、低功耗的全卷积神经网络(一)
- iOS关于armv7,armv7s,arm64,i386,x86_64
- docker部署Web项目(二)
- Halcon学习(四)图像处理中的两个坐标系
- 设屐师—创新捷径 小身材 大智慧
- maya单独显示线框和带贴图物体 优化视窗操作流畅度
- 深入浅出自动驾驶(一)-图像识别
- Recyclerview的一些个人理解与使用(六)Recyclerview的分段加载
- 338. Counting Bits
- 说说IO
- MySQL之索引学习笔记
- java学习 表达式集合输出
- ES6 yield使用
- UITableViewStyleGrouped 顶部空白
- java基础教程:运算符(8)