在写程序时,我们可以大致将菜单分解为以下几个部分: 1、旋转编码器驱动 2、按键驱动 3、屏幕显示驱动 4、菜单设计
前言 第一篇我们在电脑上搭建了opencv环境以方便我们处理图像,并且成功对图像进行了二值化和压缩操作,接下来我们的目标很简单,就是找到图像的边界、并通过边界找到赛道中线。这一篇完成后,你应该可以实现巡线操作。 一、寻找图像的边界 目前我接触过两种图像边界的寻找方法,一个是八邻域,另一个是最长白列,两种算法各有优劣。 1、八邻域 我们先来讲八邻域,…
本次任务目标 理解预图像处理流程并完成预处理过程。 一、智能车图像处理环境介绍 智能车大多数组别使用C语言进行编程,而我们在本机处理图像时会用到OpenCV库,该库支持C++和Python,为保证兼容性,我们在编写图像处理部分代码时使用的是C++和OpenCV。 如果没有接触过C++语言和OpenCV也不用担心,对于C++语言我们只会用到C++的基…
首先确保inCrossingFlag=0 首先,进入状态机条件:连续5次仅找到了右拐点 状态1: 所做的事:如果右下拐点能找到,就按照正常流程向上找到圆环最左点并补线;如果找不到,就用最右下的点向上找到圆环最左点并补线。 结束标志:连续三次没找到右下拐点 状态2: 所做的事:用最右下的点向上找到圆环最左点并补线 结束标志:右下角丢线现象好转 状态3…
原先的八邻域已经写好了,最近在写右圆环时又遇到了八邻域,但是逻辑似乎有些混乱,在此再次记录下八邻域的思路。 八邻域需要在一个固定起点处以一个顺时针或者逆时针的顺序对周围的点进行扫描。在我的程序中,如果在扫描的过程中发现一个白点突变为黑点,则说明找到了新的黑线。此时记录下这个黑点的位置,并将其作为下一个起点,如此往复,直到爬出完整的边界。 以下是在爬…