Image-to-Image
English
Dineth1222's picture
Ai
a344818 verified
import cv2
import dlib
def swap_faces(image_path1, image_path2, output_path):
# Load the images
img1 = cv2.imread(image_path1)
img2 = cv2.imread(image_path2)
# Initialize the face detector
detector = dlib.get_frontal_face_detector()
# Detect faces in both images
faces1 = detector(img1)
faces2 = detector(img2)
# Swap the faces
for face1, face2 in zip(faces1, faces2):
x1, y1, w1, h1 = face1.left(), face1.top(), face1.width(), face1.height()
x2, y2, w2, h2 = face2.left(), face2.top(), face2.width(), face2.height()
# Extract the face regions
face1_region = img1[y1:y1 + h1, x1:x1 + w1]
face2_region = img2[y2:y2 + h2, x2:x2 + w2]
# Swap the faces
img1[y1:y1 + h1, x1:x1 + w1] = face2_region
img2[y2:y2 + h2, x2:x2 + w2] = face1_region
# Save the output images
cv2.imwrite(output_path + "_1.jpg", img1)
cv2.imwrite(output_path + "_2.jpg", img2)
if __name__ == "__main__":
image1_path = "path/to/your/image1.jpg"
image2_path = "path/to/your/image2.jpg"
output_path = "path/to/output/directory/output"
swap_faces(image1_path, image2_path, output_path)