INNER CODE UNIT · Python

UV_inpaint

OpenTexture/Paint3D · pipeline_paint3d_stage2.py:23

def UV_inpaint(sd_cfg, cnet, mesh_model, outdir,):
    print(f"rendering texture and position map")
    mesh_model.export_mesh(outdir, export_texture_only=True)
    albedo_path = os.path.join(outdir, f"albedo.png")
    UV_pos = mesh_model.UV_pos_render()
    UV_pos_path = os.path.join(outdir, f"UV_pos.png")
    utils.save_tensor_image(UV_pos.permute(0, 3, 1, 2), UV_pos_path)

    # processing mask
    mask_dilated = utils.extract_bg_mask(albedo_path, dilate_kernel=15)
    mask_path = os.path.join(outdir, f"mask.png")
    cv2.imwrite(mask_path, mask_dilated)

    # UV inpaint
    p_cfg = sd_cfg.inpaint
    p_cfg.image_path = albedo_path
    p_cfg.mask_path =  mask_path
    p_cfg.controlnet_units[0].condition_image_path = UV_pos_path

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…