def depth2map(depth, size, ratio): num = depth.shape[0] plist = [ utils.coords2xyz((float(i) / num, 0.5), depth[i]) for i in np.arange(0, num) ] pointMap = np.zeros(size) polygon = [] for p in plist: xz = np.asarray(p)[[0, 2]] / ratio + size[0] / 2 xz[xz > size[0]] = size[0] xz[xz < 0] = 0 polygon.append(tuple(xz)) utils.imageDrawPolygon(pointMap, polygon) ''' xy = [[p[0] for p in plist], [p[2] for p in plist]] xy = np.asarray(xy) pointMap = np.zeros(size) xy /= ratio xy += size[0]/2 xy = xy.astype(int) pointMap[xy[1,:],xy[0,:]] = 1 ''' return pointMap
def genLayoutFloorMap(scene, size, ratio): floorMap = np.zeros(size) polygon = [] for point in scene.layoutFloor.gPoints: xz = np.asarray(point.xyz)[[0,2]] / ratio + size[0]/2 xz[xz>size[0]] = size[0] xz[xz<0] = 0 polygon.append(tuple(xz)) utils.imageDrawPolygon(floorMap, polygon) return floorMap
def genLayoutObj2dMap(scene, size): obj2dMap = np.zeros(size) for obj2d in scene.label.getLayoutObject2d(): isCross, polygon = genWallPolygon2d(size, obj2d) if not isCross: utils.imageDrawPolygon(obj2dMap, polygon, obj2d.color) else: utils.imageDrawPolygon(obj2dMap, polygon[0], obj2d.color) utils.imageDrawPolygon(obj2dMap, polygon[1], obj2d.color) return obj2dMap
def genLayoutNormalMap(scene, size): normalMap = np.zeros(size) normalMap[:int(size[0]/2),:] = scene.label.getLayoutCeiling().color normalMap[int(size[0]/2)+1:,:] = scene.label.getLayoutFloor().color for wall in scene.label.getLayoutWalls(): if wall.planeEquation[3] > 0: continue isCross, polygon = genWallPolygon2d(size, wall) if not isCross: utils.imageDrawPolygon(normalMap, polygon, wall.color) else: utils.imageDrawPolygon(normalMap, polygon[0], wall.color) utils.imageDrawPolygon(normalMap, polygon[1], wall.color) return normalMap
def genLayoutFloorCeilingMap(scene, size): fcMap = np.ones(size) walls = sortWallsByDist(scene.layoutWalls) for wall in walls: if wall.planeEquation[3] > 0: continue isCross, polygon = genWallPolygon2d(size, wall) if not isCross: utils.imageDrawPolygon(fcMap, polygon, 0) else: utils.imageDrawPolygon(fcMap, polygon[0], 0) utils.imageDrawPolygon(fcMap, polygon[1], 0) return fcMap
def genLayoutOMap(scene, size): oMap = np.zeros(size) oMap[:,:,0] = 1 for wall in scene.label.getLayoutWalls(): if wall.planeEquation[3] > 0: continue color = utils.normal2ManhColor(wall.normal) isCross, polygon = genWallPolygon2d(size, wall) if not isCross: utils.imageDrawPolygon(oMap, polygon, color) else: utils.imageDrawPolygon(oMap, polygon[0], color) utils.imageDrawPolygon(oMap, polygon[1], color) return oMap