地面是白的,车子沿着地面的一条黑线走,摄像头采回黑白图像,CPU主频32MHz,请问用什么算法寻径最好?
算法的目的就是让车子找出黑线,然后沿着黑线跑
[解决办法]
这种性能较低的处理器,又要实时,往往都不能用复杂算法。我曾经做过一些机器人方面的实验,给你提供个思路。
我觉得这个可以用扫描线的方法,大致如下:
因为小车沿着黑线跑,那么黑线必然在脚下,可以大致等间隔的平行的水平扫描线,找到从白变黑的点和从黑变白
的点,判断距离,如果距离在一个阈值(这个阈值应该随图像的行号变化,视觉的近大远小效应)附近,那么就属于黑线,平行线的间隔要在考虑处理器性能的前提下尽可能密,然后从图像下方向上,勾勒出黑线的大致轮廓,根据小车的速度,选择应该参照的图像位置,如果在该位置的黑线不在图像的正上方,偏左或偏右,那么小车就应该相应的转向。
[解决办法]
如果你说的黑白图像指的是灰度图,可能需要先进行二值化处理。如果地面还有其它杂色或物体,可能还需要一些额外的处理。例如,规定在图像竖直中线的多远距离以外就不可能是黑线了,即使图像有黑色。
[解决办法]
与其说沿这黑线跑,不如说提前识别出拐弯点。
所以你只要把拐点作为识别目标
[解决办法]
怎经做过智能车的比赛 就是让车子沿着黑线走,
黑线和白底的像素是有差别的,就是这个差别来得到黑线的位置,
一个有高(白)到低(黑) ,一个有低到高,找一个合适的阈值来辨别这个差别
[解决办法]
.......关注一下.
支持二值化方案.
另外对于方向方面,可以将黑白边与黑块组成的矩形的形状取出,从而修正前进的角度,保证与黑线平行.
[解决办法]
先模糊化去除图像的微小细节,然后二值化去除灰度只剩黑白二色。这样就很好判断了。