首页 > 其他分享 >十四、高级道路线寻找技术

十四、高级道路线寻找技术

时间:2023-11-23 22:25:14浏览次数:30  
标签:高级 长方形 路线 直方图 warped 平行 十四 图片

总结一下之前我们学过的道路线寻找步骤:

1. 相机校准:系数计算一遍就好啦

2. 恢复图像畸变:每张图都要转化一下

3. 颜色、梯度阈值:实现方法很多,最终得到一张只有0,1组成的道路线明显的输出图片

4. 透视变换:需要找到4个源点来实行透视变换

  假设道路是完全平的并且相机视角恒定不变(简化问题)

  可以找4个点组成一个梯形,视角转换之后从上往下看,就会变成一个长方形

    如果道路是完全平直的,那么长方形的两条边平行,并且能与道路线平行

    如果道路是有弯曲的,那么长方形的两条边平行,并且弯曲的两条道路线在某种程度上也平行

5. 检测道路线:使用直方图中的峰值确定图中的道路线

  取转换好角度的图片的下半部分(道路线可能在的部分),将图片各列的像素点相加,画出直方图。

  histogram = np.sum(binary_warped[binary_warped.shape[0]//2:,:], axis=0)

  取图中两个最高尖峰的位置作为起始点,用移动小窗从图片最底端向上移动确定道路线的延伸方向。

  最后用多项式拟合找到的曲线。

6. 确定道路线的曲度

标签:高级,长方形,路线,直方图,warped,平行,十四,图片
From: https://www.cnblogs.com/legend-waitforit-dary/p/14152528.html

相关文章

  • 十四、指针和引用(四)
    十四、指针和引用(四)1、字符处理(字符串)1)字符串​ 日常生活中,单个字符无法满足我们的需求,比如一个单词hello要由五个字符组成,名字张三要由两个中文字符来组成,我们把这种连续的字符称为字符串,字符串在内存中的表现就是连续的字符。比如hello在内存中是这样子的。​ 注:字符在内存......
  • 数据分析从入门到高级,10分钟帮你构建知识体系!
    数据分析是一种通过收集、整理、解释和可视化数据来获得洞察力和做出决策的过程。它在各行各业都起着至关重要的作用,包括市场营销、金融、医疗保健、人力资源等领域。在本文中,我将为你介绍数据分析的入门知识,并逐步向你介绍一些高级概念和技巧。入门知识1.数据分析的基本概念......
  • 前端学习-JavaScript学习-JavaScript高级程序设计-第3章笔记
    第3章基础概念数据类型Number<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"......
  • 设计模式(十四)命令
    一、定义将一个请求封装为一个对象,从而可以用不同的请求对客户进行参数化,对请求排队或者记录请求日志,以及支持可撤销的操作。命令模式是一种对象行为型模式,其别名为动作(Action)模式或事物(Transaction)模式。二、描述命令模式的本质是对请求进行封装,一个请求对应一个命令,将发出命......
  • 联想小新通过高级BIOS开启S3睡眠模式
    电脑型号:联想小新Air142021锐龙版(R5500U)BIOS版本:G5CN61WW(v2.07)(2022.01.28)Windows版本:Windows1122631前言为什么我们需要S3睡眠模式?Windows在最近几年大力推行ModernStandby睡眠模式,其存在一定程度上的Bug,不如S3睡眠模式稳定、耗电严重等。而且Linux系统并不支持Monder......
  • drf高级用法之——source
    source的用法(三种): 1.修改前端看到字段key的值(自定义key值)name="三国演义"#修改为book_name="三国演义" 使用代码书写:序列化类(serializer.BookSerializer)中书写:book_name=serializers.CharField(source='name') 2.修改前端看到的value值(同时也可以自......
  • Android并发编程高级面试题汇总(含详细解析 八)
    Android并发编程高级面试题汇总最全最细面试题讲解持续更新中......
  • Net 高级调试之十:轻量级代码生成的调试
    一、简介今天是《Net高级调试》的第十篇文章。说起来,高级调试,调试的内容还是挺多的,技巧也不少,但是,要想做一个合格的高级调试人员,还需要掌握如何调试动态生成的IL代码。今天要探讨的高级调试的技巧是如何调试通过Emit动态生成IL代码。可能有人会问,我们不是编写C#代......
  • celery 的高级使用
    celery包结构celery_task#celery包celery.py#celery连接和配置相关文件,且名字必须叫celery.pyhome_tasks.py#homeapp的异步任务user_task.py#userapp的异步任务get_result.py#查看异步任务add_task.py#启动异步任务__init__.py#包......
  • 第六章、Vue3高级
    目录二十四、项目实战细节(二)1、组件设置name属性二十四、项目实战细节(二)1、组件设置name属性<scriptsetup>//Vue3.3后支持defineOptions({name:'组件名',inheritAttrs:false})</script>......