导读 |
本文介绍一下使用Python3实现识别图片中的所有人脸并显示出来,让我们一起来看一下。 |
使用Python3实现识别图片中的所有人脸并显示出来,代码如下:
# -*- coding: utf-8 -*-
# 识别图片中的所有人脸并显示出来
# filename : find_faces_in_picture.py
from PIL import Image
import face_recognition
# 将jpg文件加载到numpy 数组中
image = face_recognition.load_image_file("linuxidc.com.jpg")
# 使用默认的给予HOG模型查找图像中所有人脸
# 这个方法已经相当准确了,但还是不如CNN模型那么准确,因为没有使用GPU加速
# 另请参见: find_faces_in_picture_cnn.py
face_locations = face_recognition.face_locations(image)
# 使用CNN模型
# face_locations = face_recognition.face_locations(image, number_of_times_to_upsample=0, model="cnn")
# 打印:我从图片中找到了 多少 张人脸
print("I found {} face(s) in this photograph.".format(len(face_locations)))
# 循环找到的所有人脸
for face_location in face_locations:
# 打印每张脸的位置信息
top, right, bottom, left = face_location
print("A face is located at pixel location Top: {}, Left: {}, Bottom: {}, Right: {}".format(top, left, bottom, right))
# 指定人脸的位置信息,然后显示人脸图片
face_image = image[top:bottom, left:right]
pil_image = Image.fromarray(face_image)
pil_image.show()
# 或者执行python文件
$ python3 www.linuxidc.com.py
从图片中识别出10张人脸,并显示出来。
I found 10 face(s) in this photograph.
A face is located at pixel location Top: 445, Left: 1867, Bottom: 534, Right: 1957
A face is located at pixel location Top: 544, Left: 643, Bottom: 619, Right: 718
A face is located at pixel location Top: 478, Left: 1647, Bottom: 553, Right: 1722
A face is located at pixel location Top: 504, Left: 126, Bottom: 594, Right: 215
A face is located at pixel location Top: 536, Left: 395, Bottom: 611, Right: 469
A face is located at pixel location Top: 544, Left: 1042, Bottom: 619, Right: 1116
A face is located at pixel location Top: 553, Left: 818, Bottom: 627, Right: 892
A face is located at pixel location Top: 511, Left: 1431, Bottom: 586, Right: 1506
A face is located at pixel location Top: 564, Left: 1227, Bottom: 626, Right: 1289
A face is located at pixel location Top: 965, Left: 498, Bottom: 1017, Right: 550
如下图:
原文来自:
https://www.linuxprobe.com/python-find-faces-picture.html