|
import numpy as np |
|
from skimage import io |
|
from skimage.segmentation import mark_boundaries |
|
|
|
|
|
def save_item_for_vis(item, out_file): |
|
mask = item['mask'] > 0.5 |
|
if mask.ndim == 3: |
|
mask = mask[0] |
|
img = mark_boundaries(np.transpose(item['image'], (1, 2, 0)), |
|
mask, |
|
color=(1., 0., 0.), |
|
outline_color=(1., 1., 1.), |
|
mode='thick') |
|
|
|
if 'inpainted' in item: |
|
inp_img = mark_boundaries(np.transpose(item['inpainted'], (1, 2, 0)), |
|
mask, |
|
color=(1., 0., 0.), |
|
mode='outer') |
|
img = np.concatenate((img, inp_img), axis=1) |
|
|
|
img = np.clip(img * 255, 0, 255).astype('uint8') |
|
io.imsave(out_file, img) |
|
|
|
|
|
def save_mask_for_sidebyside(item, out_file): |
|
mask = item['mask'] |
|
if mask.ndim == 3: |
|
mask = mask[0] |
|
mask = np.clip(mask * 255, 0, 255).astype('uint8') |
|
io.imsave(out_file, mask) |
|
|
|
def save_img_for_sidebyside(item, out_file): |
|
img = np.transpose(item['image'], (1, 2, 0)) |
|
img = np.clip(img * 255, 0, 255).astype('uint8') |
|
io.imsave(out_file, img) |