mirror of
https://github.com/iperov/DeepFaceLab.git
synced 2025-08-22 06:23:20 -07:00
Fixes converted
This commit is contained in:
parent
31417bc97a
commit
57f01dc3b5
2 changed files with 56 additions and 50 deletions
|
@ -343,35 +343,38 @@ class ConverterMasked(Converter):
|
|||
if debug:
|
||||
debugs += [img_mask_blurry_aaa.copy()]
|
||||
|
||||
if 'seamless' not in self.mode and self.color_transfer_mode is not None:
|
||||
if self.color_transfer_mode == 'rct':
|
||||
if debug:
|
||||
debugs += [np.clip(cv2.warpAffine(prd_face_bgr, face_output_mat, img_size,
|
||||
np.zeros(img_bgr.shape, dtype=np.float32),
|
||||
cv2.WARP_INVERSE_MAP | cv2.INTER_LANCZOS4,
|
||||
cv2.BORDER_TRANSPARENT), 0, 1.0)]
|
||||
|
||||
prd_face_bgr = imagelib.reinhard_color_transfer(
|
||||
prd_face_bgr,
|
||||
dst_face_bgr,
|
||||
source_mask=prd_face_mask_a, target_mask=prd_face_mask_a)
|
||||
|
||||
if debug:
|
||||
debugs += [np.clip(cv2.warpAffine(prd_face_bgr, face_output_mat, img_size,
|
||||
np.zeros(img_bgr.shape, dtype=np.float32),
|
||||
cv2.WARP_INVERSE_MAP | cv2.INTER_LANCZOS4,
|
||||
cv2.BORDER_TRANSPARENT), 0, 1.0)]
|
||||
|
||||
|
||||
elif self.color_transfer_mode == 'lct':
|
||||
if 'seamless' not in self.mode and self.color_transfer_mode:
|
||||
if self.color_transfer_mode:
|
||||
if debug:
|
||||
debugs += [np.clip(cv2.warpAffine(prd_face_bgr, face_output_mat, img_size,
|
||||
np.zeros(img_bgr.shape, dtype=np.float32),
|
||||
cv2.WARP_INVERSE_MAP | cv2.INTER_LANCZOS4,
|
||||
cv2.BORDER_TRANSPARENT), 0, 1.0)]
|
||||
|
||||
if self.color_transfer_mode == ColorTransferMode.LCT:
|
||||
prd_face_bgr = imagelib.linear_color_transfer(prd_face_bgr, dst_face_bgr)
|
||||
prd_face_bgr = np.clip(prd_face_bgr, 0.0, 1.0)
|
||||
|
||||
elif ColorTransferMode.RCT <= self.color_transfer_mode <= ColorTransferMode.MASKED_RCT_PAPER_CLIP:
|
||||
ct_options = {
|
||||
ColorTransferMode.RCT: (False, False, False),
|
||||
ColorTransferMode.RCT_CLIP: (False, False, True),
|
||||
ColorTransferMode.RCT_PAPER: (False, True, False),
|
||||
ColorTransferMode.RCT_PAPER_CLIP: (False, True, True),
|
||||
ColorTransferMode.MASKED_RCT: (True, False, False),
|
||||
ColorTransferMode.MASKED_RCT_CLIP: (True, False, True),
|
||||
ColorTransferMode.MASKED_RCT_PAPER: (True, True, False),
|
||||
ColorTransferMode.MASKED_RCT_PAPER_CLIP: (True, True, True),
|
||||
}
|
||||
|
||||
use_masks, use_paper, use_clip = ct_options[self.color_transfer_mode]
|
||||
|
||||
if not use_masks:
|
||||
img_bgr = imagelib.reinhard_color_transfer(prd_face_bgr, dst_face_bgr, clip=use_clip,
|
||||
preserve_paper=use_paper)
|
||||
else:
|
||||
img_bgr = imagelib.reinhard_color_transfer(prd_face_bgr, dst_face_bgr, clip=use_clip,
|
||||
preserve_paper=use_paper, source_mask=prd_face_mask_a,
|
||||
target_mask=prd_face_mask_a)
|
||||
|
||||
if debug:
|
||||
debugs += [np.clip(cv2.warpAffine(prd_face_bgr, face_output_mat, img_size,
|
||||
|
@ -457,36 +460,40 @@ class ConverterMasked(Converter):
|
|||
|
||||
out_img = np.clip(img_bgr * (1 - img_mask_blurry_aaa) + (out_img * img_mask_blurry_aaa), 0, 1.0)
|
||||
|
||||
if 'seamless' in self.mode and self.color_transfer_mode is not None:
|
||||
if 'seamless' in self.mode and self.color_transfer_mode:
|
||||
out_face_bgr = cv2.warpAffine(out_img, face_mat, (output_size, output_size))
|
||||
|
||||
if self.color_transfer_mode == 'rct':
|
||||
if self.color_transfer_mode:
|
||||
if debug:
|
||||
debugs += [np.clip(cv2.warpAffine(out_face_bgr, face_output_mat, img_size,
|
||||
np.zeros(img_bgr.shape, dtype=np.float32),
|
||||
cv2.WARP_INVERSE_MAP | cv2.INTER_LANCZOS4,
|
||||
cv2.BORDER_TRANSPARENT), 0, 1.0)]
|
||||
|
||||
new_out_face_bgr = imagelib.reinhard_color_transfer(
|
||||
out_face_bgr,
|
||||
dst_face_bgr,
|
||||
source_mask=face_mask_blurry_aaa, target_mask=face_mask_blurry_aaa)
|
||||
|
||||
if debug:
|
||||
debugs += [np.clip(cv2.warpAffine(new_out_face_bgr, face_output_mat, img_size,
|
||||
np.zeros(img_bgr.shape, dtype=np.float32),
|
||||
cv2.WARP_INVERSE_MAP | cv2.INTER_LANCZOS4,
|
||||
cv2.BORDER_TRANSPARENT), 0, 1.0)]
|
||||
|
||||
elif self.color_transfer_mode == 'lct':
|
||||
if debug:
|
||||
debugs += [np.clip(cv2.warpAffine(out_face_bgr, face_output_mat, img_size,
|
||||
debugs += [np.clip(cv2.warpAffine(prd_face_bgr, face_output_mat, img_size,
|
||||
np.zeros(img_bgr.shape, dtype=np.float32),
|
||||
cv2.WARP_INVERSE_MAP | cv2.INTER_LANCZOS4,
|
||||
cv2.BORDER_TRANSPARENT), 0, 1.0)]
|
||||
|
||||
if self.color_transfer_mode == ColorTransferMode.LCT:
|
||||
new_out_face_bgr = imagelib.linear_color_transfer(out_face_bgr, dst_face_bgr)
|
||||
new_out_face_bgr = np.clip(new_out_face_bgr, 0.0, 1.0)
|
||||
|
||||
elif ColorTransferMode.RCT <= self.color_transfer_mode <= ColorTransferMode.MASKED_RCT_PAPER_CLIP:
|
||||
ct_options = {
|
||||
ColorTransferMode.RCT: (False, False, False),
|
||||
ColorTransferMode.RCT_CLIP: (False, False, True),
|
||||
ColorTransferMode.RCT_PAPER: (False, True, False),
|
||||
ColorTransferMode.RCT_PAPER_CLIP: (False, True, True),
|
||||
ColorTransferMode.MASKED_RCT: (True, False, False),
|
||||
ColorTransferMode.MASKED_RCT_CLIP: (True, False, True),
|
||||
ColorTransferMode.MASKED_RCT_PAPER: (True, True, False),
|
||||
ColorTransferMode.MASKED_RCT_PAPER_CLIP: (True, True, True),
|
||||
}
|
||||
|
||||
use_masks, use_paper, use_clip = ct_options[self.color_transfer_mode]
|
||||
|
||||
if not use_masks:
|
||||
new_out_face_bgr = imagelib.reinhard_color_transfer(out_face_bgr, dst_face_bgr, clip=use_clip,
|
||||
preserve_paper=use_paper)
|
||||
else:
|
||||
new_out_face_bgr = imagelib.reinhard_color_transfer(out_face_bgr, dst_face_bgr, clip=use_clip,
|
||||
preserve_paper=use_paper, source_mask=face_mask_blurry_aaa,
|
||||
target_mask=face_mask_blurry_aaa)
|
||||
|
||||
if debug:
|
||||
debugs += [np.clip(cv2.warpAffine(new_out_face_bgr, face_output_mat, img_size,
|
||||
|
|
|
@ -259,7 +259,6 @@ class SampleProcessor(object):
|
|||
else:
|
||||
if ct_sample_mask is None:
|
||||
ct_sample_mask = ct_sample.load_mask()
|
||||
print(np.shape(img_bgr), np.shape(img_mask), np.shape(ct_sample_bgr), np.shape(ct_sample_mask))
|
||||
img_bgr = imagelib.reinhard_color_transfer(img_bgr, ct_sample_bgr, clip=use_clip,
|
||||
preserve_paper=use_paper, source_mask=img_mask,
|
||||
target_mask=ct_sample_mask)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue