mirror of
https://github.com/deepinsight/insightface.git
synced 2025-12-30 16:12:27 +00:00
37 lines
994 B
Python
37 lines
994 B
Python
import datetime
|
|
import numpy as np
|
|
import os
|
|
import os.path as osp
|
|
import glob
|
|
import cv2
|
|
import insightface
|
|
from insightface.app import FaceAnalysis
|
|
from insightface.data import get_image as ins_get_image
|
|
|
|
|
|
assert insightface.__version__>='0.7'
|
|
|
|
if __name__ == '__main__':
|
|
app = FaceAnalysis(name='buffalo_l')
|
|
app.prepare(ctx_id=0, det_size=(640, 640))
|
|
swapper = insightface.model_zoo.get_model('inswapper_128.onnx', download=True, download_zip=True)
|
|
|
|
|
|
img = ins_get_image('t1')
|
|
faces = app.get(img)
|
|
faces = sorted(faces, key = lambda x : x.bbox[0])
|
|
assert len(faces)==6
|
|
source_face = faces[2]
|
|
res = img.copy()
|
|
for face in faces:
|
|
res = swapper.get(res, face, source_face, paste_back=True)
|
|
cv2.imwrite("./t1_swapped.jpg", res)
|
|
res = []
|
|
for face in faces:
|
|
_img, _ = swapper.get(img, face, source_face, paste_back=False)
|
|
res.append(_img)
|
|
res = np.concatenate(res, axis=1)
|
|
cv2.imwrite("./t1_swapped2.jpg", res)
|
|
|
|
|