From a8655f58b6482138efa4adcff9b38797f2bd5f4c Mon Sep 17 00:00:00 2001 From: henryruhs Date: Mon, 16 Jun 2025 22:46:17 +0200 Subject: [PATCH] Polish paste back --- facefusion/face_helper.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/facefusion/face_helper.py b/facefusion/face_helper.py index ff388d2..a6900d3 100644 --- a/facefusion/face_helper.py +++ b/facefusion/face_helper.py @@ -106,11 +106,10 @@ def paste_back(temp_vision_frame : VisionFrame, crop_vision_frame : VisionFrame, inverse_mask = cv2.warpAffine(crop_mask, paste_matrix, (paste_width, paste_height)).clip(0, 1) inverse_mask = numpy.expand_dims(inverse_mask, axis = -1) inverse_vision_frame = cv2.warpAffine(crop_vision_frame, paste_matrix, (paste_width, paste_height), borderMode = cv2.BORDER_REPLICATE) - paste_vision_frame = temp_vision_frame.copy() - paste_region_frame = paste_vision_frame[y_min:y_max, x_min:x_max] - paste_region_frame = paste_region_frame * (1 - inverse_mask) + inverse_vision_frame * inverse_mask - paste_vision_frame[y_min:y_max, x_min:x_max] = paste_region_frame.astype(temp_vision_frame.dtype) - return paste_vision_frame + paste_vision_frame = temp_vision_frame[y_min:y_max, x_min:x_max] + paste_vision_frame = paste_vision_frame * (1 - inverse_mask) + inverse_vision_frame * inverse_mask + temp_vision_frame[y_min:y_max, x_min:x_max] = paste_vision_frame.astype(temp_vision_frame.dtype) + return temp_vision_frame def calc_paste_area(temp_vision_frame : VisionFrame, crop_vision_frame : VisionFrame, affine_matrix : Matrix) -> Tuple[BoundingBox, Matrix]: