人脸识别系统真的不难?今天手把手教你用Python写

文章介绍了如何使用face_recognition库在图像中定位人脸、切割人脸、编码人脸特征向量以及进行人脸对比,同时展示了关键点识别和简单的化妆功能。作者还讨论了该库的工作原理和在实际应用中的局限性。
摘要由CSDN通过智能技术生成

‘’’

在一张包含人脸的图片中圈出来人脸

‘’’

image = face_recognition.load_image_file(“test.jpg”)

face_locations = face_recognition.face_locations(image)

for one in face_locations:

y0, x1, y1, x0=one

cv2.rectangle(image, pt1=(x0, y0), pt2=(x1, y1), color=(0, 0, 255), thickness=3)

cv2.imshow(‘aaa’, image)

if cv2.waitKey(0) & 0xFF == ord(‘q’):

cv2.destroyAllWindows()

从网上随便找了一张图片,如下所示:

在这里插入图片描述

定位结果如下所示:

在这里插入图片描述

感觉还是很强大的,当然了,在我实践的过程中也发现了部分图像识别检测人脸失败的问题,这个毕竟不是一个百分之百的问题,face_recognition更像是一个基础框架,帮助我们更加高效地去构建自己的人脸识别的相关应用。

2、切割图像中的每个人脸保存本地

def demoFunc():

‘’’

图片中人脸截图保存

‘’’

img = cv2.imread(“test.jpg”)

image = face_recognition.load_image_file(“test.jpg”)

face_locations = face_recognition.face_locations(image) #(top, right, bottom, left)

for i in range(len(face_locations)):

y0, x1, y1, x0 = face_locations[i]

cropped = img.crop((x0,y0,x1,y1)) # (left, upper, right, lower) 左上角 右下角

cropped.save(str(i)+“_.jpg”)

cropped.show()

使用的原始图像同上,结果如下所示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值