%% Convert PGM Image to Map
% This example shows how to convert a .pgm file which contains a ROS map into a BinaryOccupancyGrid map for use in MATLAB.
% Import image using imread. The image is quite large and should be cropped to the relevant area.

image = imread('playpen_map.pgm');
imageCropped = image(750:1250,750:1250);
imshow(imageCropped)

%
% Unknown areas (gray) should be removed and treated as free space. Create a logical matrix based on a threshold. Depending on your image, this value could be different. Occupied space should be set as 1 (white in image).

imageBW = imageCropped < 100;
imshow(imageBW)

%
% Create BinaryOccupancyGrid object using adjusted map image.

map = robotics.BinaryOccupancyGrid(imageBW);
show(map)