Exemple #1
0
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
Exemple #2
0
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
Exemple #3
0
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
Exemple #4
0
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
Exemple #5
0
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
Exemple #6
0
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