insightface 换脸

复制代码
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)

参考:

https://github.com/deepinsight/insightface/tree/0cb03d391bb9335821448ce6e0519dbc870ec68d/examples/in_swapper

相关推荐
十六点五20 小时前
Java NIO的底层原理
java·开发语言·python
跟橙姐学代码20 小时前
不要再用 print() 了!Python logging 库才是调试的终极武器
前端·python
小叶lr21 小时前
python 从pycharm部署到新环境
开发语言·python·pycharm
2301_7634710321 小时前
Python单元测试(unittest)实战指南
python
xiaoxiongip66621 小时前
动态ip适合挂什么项目
网络·爬虫·python·网络协议·tcp/ip·ip
Q_Q5110082851 天前
springboot+python+uniapp基于微信小程序的旅游服务系统景点信息展示 路线推荐 在线预约 评论互动系统
spring boot·python·微信小程序·django·flask·uni-app
E___V___E1 天前
设计模式--装饰器模式
python·设计模式·装饰器模式
Dan.Qiao1 天前
pycharm如何处理python项目间引用
ide·python·pycharm
万粉变现经纪人1 天前
如何解决pip安装报错ModuleNotFoundError: No module named ‘sympy’问题
python·beautifulsoup·pandas·scikit-learn·pyqt·pip·scipy
xiaohouzi1122331 天前
Python读取视频-硬解和软解
python·opencv·ffmpeg·视频编解码·gstreamer