print 函数是输出字符串,所以用 print 输出形成的 grid 其实质是具有某特定形状的 字符串 ,而 plt.grid() 绘制出的网格是 图片。
字符串 是可以用文字处理软件(如 word、记事本等)直接编辑处理的,而 图片 则只能用图片编辑软件(如画笔)打开处理。
如问题所要求的最简单的“编写一个能画出如下网格(grid)的函数”代码,可以简单的用 print 函数就可以了:
代码执行效果:
你用的是激光雷达吧。 雷达应该本身可以形成周围物体的反馈。所以需要一个图像识别算法识别出障碍物是什么。然后标志出来。
这个没有做过。不过都是现成的算法。 找一找就可以找到。
如果没有找到可以按下面的思路去做:
雷达应该可以返回目标物的距离,以及反射强度。可以使用PIL,制作一个IMAGE。根据距离角度计算出点的位置,根据反射强度计算出它的灰度值。0-255的范围。
下面是计算障碍物。 通常可以简化算法。 比如连续灰度值过10且超过2-3个像素则为目标障碍物。还可以加上距离判断。比如距离15厘米以内的才算是障碍物。
另外灰度值与范围可以做一个判断矩阵。低灰度值。
有了障碍物,只需要计算图像中心点。然后在周围画个矩形。
最后把IMAGE画出来。可以用PIL,也可以用opencv的函数。