g++编译:g++ -std=c++11 xxx.cpp -o xx $(pkg-config --cflags --libs opencv) (需要安装opencv)
处理过程:先用opencv将图片做灰度处理,再做二值化,将像素保存到vector二维数组作为地图,设置起点和终点,调用AStart算法(改进版:加入路沿代价函数)找到一条路径,由于算法会导致路径出现锯齿状,故用均值滤波对路径点做平滑处理。
1.原始地图:
2.A*算法生成的路径不平滑且贴近路沿,故增加道路膨胀层并加入靠近路沿的启发函数:
3.运用均值滤波对路径做平滑处理并加大膨胀半径: