智能汽车竞赛摄像头处理(4)——摄像头循迹思路讲解

2024-02-04 10:20

本文主要是介绍智能汽车竞赛摄像头处理(4)——摄像头循迹思路讲解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

(1)在上一节中,我们学习了对图像的固定二值化处理,可以将原始图像处理成二值化的黑白图像,这里面的本质就是将原来的二维数组进行了处理。我们要实现的循迹功能就是对这个二值化后的新二维数组进行利用,这个二维数组里的元素都是0和255两个值。

(2)那么我们要在这个二维数组中得到什么?我们最后要得到赛道中线和屏幕中线,屏幕固定的中线是显示图像的宽度的一半,而赛道中线要通过处理后得到。所以我们这篇文章主要讲解如何找到赛道中线。

(3)我们整个图像处理的步骤如下:

  1. 固定阈值二值化/大津法:灰度图像转为黑白图像
  2. 找边界求赛道中线
  3. 求偏差值(取一行/取多行平均/取多行加权平均)

其中,第一步我们在前面的文章中已经学习过了,这篇文章我们来分析一下循迹思路,为实现第二部做铺垫。

分析

我们要找的赛道中线就是求赛道左右边线的平均值,而求赛道左右边线的平均值这个问题又可以依次转化为以下问题:求赛道左右边线的平均值——>找横向的两个黑白交界线——>找黑白交界点。

化简后,我们只需要寻找一横行的赛道中点和图像固定中点即可,坐标的差值即我们的误差值。 

——>找某一行的黑白跳变点,黑跳白-左边线点,白跳黑-右边线点,两个点的横坐标去平均值即赛道中点。赛道中点与图像固定中点做差得到误差。

——>如何精确准确地找到真正的黑白跳变点

有以下几种处理方式:

(1)从左到右,判断黑白跳变点,找到左右两个黑白交界点。

(2)从右到左,判断黑白跳变点,找到左右两个黑白交界点。

(3)从左到右找黑跳白-左边点,从右往左找白跳黑-右边点。

(4)从中间往两边找。-------相对来说,准确度是最高的。

以上几种处理方式都可行,但是第四种方法相对较好,所以我们下一篇文章来分析在从中间往两边找赛道边界。

这篇关于智能汽车竞赛摄像头处理(4)——摄像头循迹思路讲解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/677158

相关文章

SpringBoot结合Docker进行容器化处理指南

《SpringBoot结合Docker进行容器化处理指南》在当今快速发展的软件工程领域,SpringBoot和Docker已经成为现代Java开发者的必备工具,本文将深入讲解如何将一个SpringBo... 目录前言一、为什么选择 Spring Bootjavascript + docker1. 快速部署与

Python办公自动化实战之打造智能邮件发送工具

《Python办公自动化实战之打造智能邮件发送工具》在数字化办公场景中,邮件自动化是提升工作效率的关键技能,本文将演示如何使用Python的smtplib和email库构建一个支持图文混排,多附件,多... 目录前言一、基础配置:搭建邮件发送框架1.1 邮箱服务准备1.2 核心库导入1.3 基础发送函数二、

Python使用vllm处理多模态数据的预处理技巧

《Python使用vllm处理多模态数据的预处理技巧》本文深入探讨了在Python环境下使用vLLM处理多模态数据的预处理技巧,我们将从基础概念出发,详细讲解文本、图像、音频等多模态数据的预处理方法,... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

Spring Boot @RestControllerAdvice全局异常处理最佳实践

《SpringBoot@RestControllerAdvice全局异常处理最佳实践》本文详解SpringBoot中通过@RestControllerAdvice实现全局异常处理,强调代码复用、统... 目录前言一、为什么要使用全局异常处理?二、核心注解解析1. @RestControllerAdvice2

嵌入式数据库SQLite 3配置使用讲解

《嵌入式数据库SQLite3配置使用讲解》本文强调嵌入式项目中SQLite3数据库的重要性,因其零配置、轻量级、跨平台及事务处理特性,可保障数据溯源与责任明确,详细讲解安装配置、基础语法及SQLit... 目录0、惨痛教训1、SQLite3环境配置(1)、下载安装SQLite库(2)、解压下载的文件(3)、

Python如何将OpenCV摄像头视频流通过浏览器播放

《Python如何将OpenCV摄像头视频流通过浏览器播放》:本文主要介绍Python如何将OpenCV摄像头视频流通过浏览器播放的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完... 目录方法1:使用Flask + MJPEG流实现代码使用方法优点缺点方法2:使用WebSocket传输视

电脑提示xlstat4.dll丢失怎么修复? xlstat4.dll文件丢失处理办法

《电脑提示xlstat4.dll丢失怎么修复?xlstat4.dll文件丢失处理办法》长时间使用电脑,大家多少都会遇到类似dll文件丢失的情况,不过,解决这一问题其实并不复杂,下面我们就来看看xls... 在Windows操作系统中,xlstat4.dll是一个重要的动态链接库文件,通常用于支持各种应用程序

SQL Server数据库死锁处理超详细攻略

《SQLServer数据库死锁处理超详细攻略》SQLServer作为主流数据库管理系统,在高并发场景下可能面临死锁问题,影响系统性能和稳定性,这篇文章主要给大家介绍了关于SQLServer数据库死... 目录一、引言二、查询 Sqlserver 中造成死锁的 SPID三、用内置函数查询执行信息1. sp_w

Java对异常的认识与异常的处理小结

《Java对异常的认识与异常的处理小结》Java程序在运行时可能出现的错误或非正常情况称为异常,下面给大家介绍Java对异常的认识与异常的处理,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参... 目录一、认识异常与异常类型。二、异常的处理三、总结 一、认识异常与异常类型。(1)简单定义-什么是

java对接海康摄像头的完整步骤记录

《java对接海康摄像头的完整步骤记录》在Java中调用海康威视摄像头通常需要使用海康威视提供的SDK,下面这篇文章主要给大家介绍了关于java对接海康摄像头的完整步骤,文中通过代码介绍的非常详细,需... 目录一、开发环境准备二、实现Java调用设备接口(一)加载动态链接库(二)结构体、接口重定义1.类型