Skip to content

Instantly share code, notes, and snippets.

@Tony363
Created September 20, 2020 10:48
Show Gist options
  • Save Tony363/ee119c1125e2ffca4bd50f38e8e6e73a to your computer and use it in GitHub Desktop.
Save Tony363/ee119c1125e2ffca4bd50f38e8e6e73a to your computer and use it in GitHub Desktop.
if cached is not None:
dst_sz,warper, cameras,corners,masks_warped = cached
blender.prepare(dst_sz)
for idx, name in enumerate(img_names):
corner, image_warped = warper.warp(name, cameras[idx].K().astype(np.float32), cameras[idx].R, cv2.INTER_LINEAR, cv2.BORDER_REFLECT)
p, mask_warped = warper.warp(255 * np.ones((name.shape[0], name.shape[1]), np.uint8), cameras[idx].K().astype(np.float32), cameras[idx].R, cv2.INTER_NEAREST, cv2.BORDER_CONSTANT)
compensator.apply(idx, corners[idx], image_warped, mask_warped)
mask_warped = cv2.bitwise_and(cv2.resize(cv2.dilate(masks_warped[idx], None), (mask_warped.shape[1], mask_warped.shape[0]), 0, 0, cv2.INTER_LINEAR_EXACT), mask_warped)
blender.feed(cv2.UMat(image_warped.astype(np.int16)), mask_warped, corners[idx])
result, result_mask = blender.blend(None, None)
dst = cv2.normalize(src=result, dst=None, alpha=255., norm_type=cv2.NORM_MINMAX, dtype=cv2.CV_8U)
return False,dst
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment