在图像中显示2d地图的网格线

问题描述

我可以在Google和论坛的任何位置进行搜索 但是我找不到我想要的东西。 希望有人可以在这里帮助我...

我已经从octomap中使用map_server map_saver从pcd文件生成了2d地图,它生成了2个文件,即pgm和yaml文件

但是生成pgm文件没有在其上具有网格线。

我的问题是,有可能在map_saver生成的图像上显示网格线吗?还是有其他方法可以从2D地图生成带有网格线的图像?

解决方法

您可以尝试更改地图尺寸,如果方向不同,请相应地旋转地图。

  import pylab as plt
  import numpy as np
  # Load the image
  img =  np.array(plt.imread("g_map.pgm"))

  # assume dimension of map 20mx20m
  map_dim_x = 20 
  map_dim_y = 20 

  # relationship between pixel and map  
  dx,dy = int(img.shape[0]/map_dim_x),int(img.shape[1]/map_dim_y)

  grid_color = 0

  img[:,::dy,] = grid_color
  img[::dx,] = grid_color

  plt.imshow(img)
  plt.show()

enter image description here