前言
(1)在上一节中,我们学习了对图像的动态阈值二值化处理,和固定阈值二值化一样将原始图像处理成二值化后的黑白图像,这个二维数组里的元素都是0和255两个值,本质也是是将原来的二维数组进行了二值化处理,只是二值化的阈值由大津法计算后得到。
(2)我们要实现的循迹功能就是对这个二值化后的新二维数组进行利用,那么我们要在这个二维数组中得到什么?我们最后要得到赛道中线和屏幕中线,屏幕固定的中线是显示图像的宽度的一半,而赛道中线要通过处理后得到。所以我们这篇文章主要讲解循迹思路。
(3)我们整个图像处理的步骤如下:
- 固定阈值二值化/大津法:灰度图像转为黑白图像
- 找边界求赛道中线
- 求偏差值(取一行/取多行平均/取多行加权平均)
其中,第一步我们在前面的文章中已经学习过了,这篇文章我们来分析一下循迹思路,为实现第二步做铺垫。
分析
我们要找的赛道中线就是求赛道左右边线的平均值,而求赛道左右边线的平均值这个问题又可以依次转化为以下问题:求赛道左右边线的平均值——>找横向的两个黑白交界线——>找黑白交界点。
化简后,我们只需要寻找一横行的赛道中点和图像固定中点即可,坐标的差值即我们的误差值。
——>找某一行的黑白跳变点,黑跳白-左边线点,白跳黑-右边线点,两个点的横坐标去平均值即赛道中点。赛道中点与图像固定中点做差得到误差。
——>如何精确准确地找到真正的黑白跳变点
有以下几种处理方式:
(1)从左到右,判断黑白跳变点,找到左右两个黑白交界点。
(2)从右到左,判断黑白跳变点,找到左右两个黑白交界点。
(3)从左到右找黑跳白-左边点,从右往左找白跳黑-右边点。
(4)从中间往两边找。-------相对来说,准确度是最高的。
以上几种处理方式都可行,但是第四种方法相对较好,所以我们下一篇文章来分析如何从中间往两边找赛道边界。