Esempio n. 1
0
def visualize_garment(garment_path, with_tex=True):
    # Load SMPL body for the garment
    path = split(garment_path)[0]
    garment_org_body = load_smpl_from_file(join(path, 'registration.pkl'))
    garment_org_body = Mesh(garment_org_body.v, garment_org_body.f)

    # Load unposed garment
    garment_unposed = Mesh(filename=gar_dict[garment_type][index])
    garment_unposed.set_texture_image(join(path, 'multi_tex.jpg'))

    # Pose garments
    dat = pkl.load(open(join(path, 'registration.pkl')))
    dat['gender'] = 'neutral'
    garment_posed = pose_garment(garment_unposed, vert_indices[garment_type],
                                 dat)
    garment_posed = remove_interpenetration_fast(garment_posed,
                                                 garment_org_body)

    if with_tex:
        garment_posed.vt = garment_unposed.vt
        garment_posed.ft = garment_unposed.ft
        garment_posed.set_texture_image(join(path, 'multi_tex.jpg'))

    mvs = MeshViewers((1, 3), keepalive=True)
    mvs[0][2].set_background_color(np.array([1, 1, 1]))
    mvs[0][1].set_background_color(np.array([1, 1, 1]))
    mvs[0][0].set_background_color(np.array([1, 1, 1]))
    mvs[0][1].set_static_meshes([garment_org_body])
    mvs[0][2].set_static_meshes([garment_org_body, garment_posed])
    mvs[0][0].set_static_meshes([garment_unposed])

    return
Esempio n. 2
0
    # Load unposed garment
    garment_unposed_upper = Mesh(
        filename='./Multi-Garment_dataset/125611499279708/TShirtNoCoat.obj')
    garment_unposed_upper.set_texture_image(join(path_upper, 'multi_tex.jpg'))

    garment_unposed_lower = Mesh(
        filename='./Multi-Garment_dataset/125611499279708/ShortPants.obj')
    garment_unposed_lower.set_texture_image(join(path_lower, 'multi_tex.jpg'))

    # Pose garments
    # upper
    dat_upper = pkl.load(open(join(path_upper, 'registration.pkl'), "rb"),
                         encoding="latin1")
    dat_upper['gender'] = 'neutral'
    garment_posed_upper = pose_garment(garment_unposed_upper,
                                       vert_indices[type_upper], dat_upper)
    garment_posed_upper = remove_interpenetration_fast(garment_posed_upper,
                                                       upper_garment_org_body)
    # loading textures on posed garments
    garment_posed_upper.vt = garment_unposed_upper.vt
    garment_posed_upper.ft = garment_unposed_upper.ft
    garment_posed_upper.set_texture_image(join(path_upper, 'multi_tex.jpg'))

    # lower
    dat_lower = pkl.load(open(join(path_lower, 'registration.pkl'), "rb"),
                         encoding="latin1")
    dat_lower['gender'] = 'neutral'
    garment_posed_lower = pose_garment(garment_unposed_lower,
                                       vert_indices[type_lower], dat_lower)
    garment_posed_lower = remove_interpenetration_fast(garment_posed_lower,
                                                       lower_garment_org_body)