使用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)#保存最后的图

识别结果:

切割结果:

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

被折叠的 条评论
为什么被折叠?



