def plot(data, gs, mask, p_mask, use_log, custom_transform=lambda x: x):
    d = to_np_img(data[0])
    if use_log:
        d = cv2.split(d)
        d = np.dstack((d[0], d[1]))
        gs = gs[0]
        d = transform_from_log(d, gs)
    if d.max() > 1:
        d = d.astype(int)
    mask = mask_to_image(to_np_img(mask[0]))
    p_mask = custom_transform(mask_to_image(to_np_img(p_mask[0])))
    visualize(d, p_mask, mask=mask)
Example #2
0
 def save_mask(name, mask):
     image, _, _ = load_img_and_gt_crf_dataset(name,
                                               path=path,
                                               folder=folder,
                                               dataset=datatype,
                                               use_corrected=use_corrected,
                                               rotate=False,
                                               use_mask=False)
     if image.shape[0] > image.shape[1]:
         fx = image.shape[0] / mask.shape[3]
         fy = image.shape[1] / mask.shape[2]
     else:
         fx = image.shape[1] / mask.shape[3]
         fy = image.shape[0] / mask.shape[2]
     rot_mask = cv2.resize(mask_to_image(to_np_img(mask)), (0, 0),
                           fx=fx,
                           fy=fy)
     if image.shape[0] > image.shape[1]:
         rot_mask = cv2.flip(rot_mask, -1)
         rot_mask = cv2.flip(rot_mask, 0)
         rot_mask = cv2.rotate(rot_mask, cv2.ROTATE_180)
     fld = f'{path}/{folder}/pmasks6{"-cor" if use_corrected else ""}{"-custom" if custom else ""}{"-reg" if reg else ""}'
     if not os.path.exists(fld):
         os.mkdir(fld)
     rot_mask = cv2.cvtColor(rot_mask, cv2.COLOR_RGB2BGR)
     cv2.imwrite(f'{fld}/{name}', rot_mask)
def plot(data, gs, gt, p_mask, use_log, custom_transform=lambda x: x):
    d = to_np_img(data[0])
    gt = to_np_img(gt[0])
    p_mask = to_np_img(p_mask[0])
    if use_log:
        d = cv2.split(d)
        d = np.dstack((d[0], d[1]))
        gs = gs[0]
        d = transform_from_log(d, gs)
    if d.max() > 1:
        d = d.astype(int)
        gt = gt.astype(np.uint8)
        p_mask = np.clip(p_mask, 0, 255).astype(np.uint8)
    p_mask = custom_transform(
        cv2.cvtColor(to_np_img(p_mask), cv2.COLOR_LUV2RGB))
    visualize(d, p_mask, mask=gt)
Example #4
0
def plot(data,
         gs,
         mask,
         p_mask,
         use_log,
         reg,
         custom_transform=lambda x: x,
         use_mixture=False):
    d = to_np_img(data[0])
    if use_log:
        d = cv2.split(d)
        d = np.dstack((d[0], d[1]))
        gs = gs[0]
        d = transform_from_log(d, gs)
    if d.max() > 10:
        d = d.astype(int)
    if reg:
        p_mask = to_np_img(p_mask[0])
        p_mask = p_mask.astype(np.uint8)
        p_mask = cv2.cvtColor(to_np_img(p_mask), cv2.COLOR_LUV2RGB)
        mask = to_np_img(mask[0])
        mask = mask.astype(np.uint8)
        mask = cv2.cvtColor(to_np_img(mask), cv2.COLOR_LUV2RGB)
    else:
        mask = mask_to_image(to_np_img(mask[0]))
        p_mask = custom_transform(
            mask_to_image(to_np_img(p_mask[0]), use_mixture=use_mixture))
    visualize(d, p_mask, mask=mask)
def color_correct_with_mask(img, mask, c1, c2, filter=lambda x: x):
    mask = to_np_img(mask)
    mask = mask / (np.max(mask))
    mask = np.clip(mask, 0, 1)
    # c1 = torch.tensor(c1)
    # c2 = torch.tensor(c2)
    # gt = np.array(
    #     [[c2 * pixel[0] + c1 * (1 - pixel[0]) for pixel in row] for row in mask])
    gt = np.array([[c1 * (1 - pixel[0]) + c2 * pixel[0] for pixel in row]
                   for row in mask])
    gt = filter(gt)
    gt = torch.tensor(gt)
    return color_correct_tensor(img[0], gt), gt
Example #6
0
 def plot(data, gt, out_a, gs, gt_gs):
     gs = gs[0]
     gt_gs = np.array([[np.array(gt_gs[0]) for i in range(64)]
                       for j in range(64)])
     d = to_np_img(data[0])
     d = cv2.split(d)
     d = np.dstack((d[0], d[1]))
     d = transform_from_log(d, gs)
     gt_img = np.array([[np.array(gt[0].cpu()) for i in range(64)]
                        for j in range(64)])
     gt_img = transform_from_log(gt_img, gt_gs)
     pred_img = np.array(
         [[out_a[0].detach().cpu().numpy() for i in range(64)]
          for j in range(64)])
     pred_img = transform_from_log(pred_img, gt_gs)
     visualize(d, gt_img, pred_img)