fzjz

(原创)Kinetis智能车系列:也谈图像处理算法

0
阅读(4307)

      谢谢大家的鼓励,我会继续努力。最近一直在做Kinits采集到的图像处理,所以顺势写一下关于我在做图像算法上的思考和实践。这么做暂时打断了我写K60驱动的顺序,需要求谅解下。

      第七届飞思卡尔智能车的采用双边赛道,比起以前的单线赛道,明显的一点就是增加了算法的工作量。下面我详细介绍两者的对比(先谈共同点,后谈不同点):

      1、关于黑白赛道的阈值,若是采用就某行图像取动态阈值的话,方法两者是一致的。

      2、关于图像的分布,近处占据的行数多,远处占据的行数少,两者一致,依旧可以采取近处隔行采集、远处逐行采集的思路

      3、双边的对视野要求更为严格(尽量减少丢失),先比之下,单边就宽松了些

      4、在提取黑线上,逐行扫描,采取边缘检测算法,前者取4次变化(采集2条线),后者2次变化(采集1条线)

      5、得到黑线的状况下,处理失真(摄像头使然)两者处理方法当然一致,但是赛道的拟合上,需要采取不同的策略

     粗浅的谈了我眼中的一些对单双边的异同,下面介绍我的处理方法和思路。

     广角镜头是个势在必行的物件,若采双边,丢失是很正常的事情,我在做动态阈值的时候,就出现因为前方某行,图像拍不全而导致阈值起伏很大和没办法求出赛道中心的状况。

     图像采集,列数增加是好事,但是行数增加却不一定是好事(在我做的方案中)。做赛道处理的时候,重点还是要放在那标定的关键的几行上,没必要浪费在一行一行的处理中。此外,我主要采用前方的较近距离做识别,较远处主要来检测直道,好加速、减速。此外,一场图像,要好久才能走出去,太远没啥意义。

     过弯道甩出,提速易甩出。根据斜率判断,走弯的话,尽量选择贴着内道走,给舵机足够的时间,防止甩出,我就遇到过这种情况。

     过十字弯,想必有人要说会丢失中心的,既然丢失(这种形式的丢失),为何不默认直走呢?

    呵呵,以上写了自己在调试和思考的一些东西。。。就当记笔记了。。。TO  BE CONTINUED。。。