前言
在经过一年的努力,终于结束了我的智能车生涯,也很开心最后能有一个令人满意的结果。
进入大三生活,不再去实验室中参加集训突然感到时间有些空闲,于是决定将自己这一年来的代码开源出来,供大家参考。就我自己看来,其实我的代码中也没有太多有突破性的图像处理方式,只是中规中矩的进行扫线与补线罢了。当然,虽然参加的是多车编队组,对于速度的要求并没有那么高,但是车跑到3米应该还是可以的。
我的代码是在大概7月份的时候是重新构建过一次结构的,个人感觉阅读起来应该会更清晰一点。
下面是我的代码的整体构架,其中涉及图像处理的总共三个函数,当然最核心的就是图像判断函数了。我的代码加起来总共2500行左右,应该还算比较少的,中间很多重复的函数功能我都集合起来了。
void ImageProcess()
{
init_f();//对于特定的的变量进行初始化
image_line(0, root);//第一遍中间扫线
image_get_data();//对第一遍扫线结果处理,获得图像特征,在图像判断中会用到
total_jude();//判断特殊元素,并进行处理
if (flag_cirle != 3) root = LCenter[3];//中间扫线起始点迭代,在环岛状态3时特殊处理
Wait_signal();//处理蓝牙接收的信号
panwan();//直弯判断
DJ_PD();//舵机控制
shuchu();//电机输出控制
put_Settest();//在上位机中显示
}