insightface切割人脸

使用Insightface进行人脸检测与切割
本文介绍如何利用Insightface库在Python环境中进行人脸检测和精确切割,同时展示了识别与切割的人脸结果。

使用insightface进行人脸检测、人脸切割、人脸矩形框标注。

主要环境:

pip install cython
pip install -U insightface 
pip install onnxruntime-gpu
import cv2
import numpy as np
from insightface.app import FaceAnalysis

app = FaceAnalysis(allowed_modules=['detection'], providers=['CUDAExecutionProvider', 'CPUExecutionProvider'])
app.prepare(ctx_id=0, det_size=(640, 640))
img = cv2.imread('pic_3.jpg')
img1 = img[:,:,::-1]
faces = app.get(img1)#获取全部的脸
print(len(faces))

dimg = img.copy()#复制
for i in range(len(faces)):#有几个切几个
    face = faces[i]
    box = face.bbox.astype(np.int32)
    color = (0, 0, 255)
    xmin,ymin,xmax,ymax = box
    print(xmin,ymin,xmax,ymax)
    cv2.imwrite(str(i)+'.png',dimg[ymin:ymax,xmin:xmax])#按序保存
    cv2.rectangle(dimg, (box[0], box[1]), (box[2], box[3]), color, 2)#画矩形
cv2.imwrite("./ldh_output1.jpg", dimg)#保存最后的图

在这里插入图片描述
识别结果:
在这里插入图片描述
切割结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值