Improve paste back performance

This commit is contained in:
henryruhs
2023-10-14 19:46:15 +02:00
parent d5bb7009b6
commit d80d496b93
+2 -2
View File
@@ -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