diff --git a/facefusion/face_helper.py b/facefusion/face_helper.py index d33f9286..0453e840 100644 --- a/facefusion/face_helper.py +++ b/facefusion/face_helper.py @@ -38,7 +38,7 @@ def paste_back(temp_frame : Frame, crop_frame : Frame, affine_matrix : Matrix) - temp_frame_height, temp_frame_width = temp_frame.shape[0:2] crop_frame_height, crop_frame_width = crop_frame.shape[0:2] inverse_crop_frame = cv2.warpAffine(crop_frame, inverse_affine_matrix, (temp_frame_width, temp_frame_height)) - inverse_mask = numpy.ones((crop_frame_height, crop_frame_width, 3), dtype = numpy.float32) + inverse_mask = numpy.ones((crop_frame_height, crop_frame_width, 3), dtype = numpy.uint8) inverse_mask_frame = cv2.warpAffine(inverse_mask, inverse_affine_matrix, (temp_frame_width, temp_frame_height)) inverse_mask_frame = cv2.erode(inverse_mask_frame, numpy.ones((2, 2))) inverse_mask_border = inverse_mask_frame * inverse_crop_frame @@ -49,5 +49,5 @@ def paste_back(temp_frame : Frame, crop_frame : Frame, affine_matrix : Matrix) - inverse_mask_blur_size = inverse_mask_edge * 2 + 1 inverse_mask_blur_area = cv2.GaussianBlur(inverse_mask_center, (inverse_mask_blur_size, inverse_mask_blur_size), 0) temp_frame = inverse_mask_blur_area * inverse_mask_border + (1 - inverse_mask_blur_area) * temp_frame - temp_frame = temp_frame.clip(0, 255).astype(numpy.uint8) + temp_frame = numpy.clip(temp_frame, 0, 255).astype(numpy.uint8) return temp_frame