Go to the documentation of this file.00001
00002
00003 import roslib; roslib.load_manifest('ar_kinect')
00004 import rospy
00005 import cv
00006 import cv2
00007 import numpy as np
00008 from nav_msgs.msg import OccupancyGrid, MapMetaData
00009
00010 def callback(data):
00011
00012
00013
00014
00015
00016
00017
00018
00019 mat = cv.CreateMat(data.info.height, data.info.width, cv.CV_64FC1)
00020 for y in range(data.info.height):
00021 for x in range(data.info.width):
00022 if data.data[y*data.info.width+x] == 0:
00023 mat[y,x] = 255
00024 else:
00025 mat[y,x] = data.data[y*data.info.width+x]
00026
00027 a = np.asarray(mat)
00028 params = list()
00029 params.append(cv2.cv.CV_IMWRITE_PXM_BINARY)
00030 params.append(0)
00031 cv2.imwrite("/home/janina/ros_workspace/Testbild.pbm", a, params)
00032
00033
00034 if __name__ == '__main__':
00035 rospy.init_node('createBitMap', anonymous=True)
00036 rospy.Subscriber('occ_grid_map', OccupancyGrid, callback)
00037 rospy.spin()