使用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()
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
# 或者执行python文件
$ python3 www.linuxidc.com.py
- 1.
- 2.
从图片中识别出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
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
如下图: