OpenCV中提供的训练好的分类器实现人脸检测:级联分类器(Haar特征、Hog特征、LBP算法)。OpenCV中提供的人脸识别方法:LBPH、Eigenfaces、Fisherfaces

日萌社

人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新)


OpenCV中提供的训练好的分类器实现人脸检测:级联分类器(Haar特征、Hog特征、LBP算法)。OpenCV中提供的人脸识别方法:LBPH、Eigenfaces、Fisherfaces_第1张图片


OpenCV提供了用于训练级联分类器的工具,也提供了训练好的用于人脸定位的级联分类器。

OpenCV提供了三种不同的训练好的级联分类器:Haar级联分类器(使用积分图像快速计算Haar特征的方法)、Hog特征的级联分类器、LBP算法的级联分类器

OpenCV中提供的训练好的分类器实现人脸检测:级联分类器(Haar特征、Hog特征、LBP算法)。OpenCV中提供的人脸识别方法:LBPH、Eigenfaces、Fisherfaces_第2张图片

OpenCV中提供的训练好的分类器实现人脸检测:级联分类器(Haar特征、Hog特征、LBP算法)。OpenCV中提供的人脸识别方法:LBPH、Eigenfaces、Fisherfaces_第3张图片

OpenCV中提供的训练好的分类器实现人脸检测:级联分类器(Haar特征、Hog特征、LBP算法)。OpenCV中提供的人脸识别方法:LBPH、Eigenfaces、Fisherfaces_第4张图片

OpenCV中提供的训练好的分类器实现人脸检测:级联分类器(Haar特征、Hog特征、LBP算法)。OpenCV中提供的人脸识别方法:LBPH、Eigenfaces、Fisherfaces_第5张图片

OpenCV中提供的训练好的分类器实现人脸检测:级联分类器(Haar特征、Hog特征、LBP算法)。OpenCV中提供的人脸识别方法:LBPH、Eigenfaces、Fisherfaces_第6张图片

OpenCV中提供的训练好的分类器实现人脸检测:级联分类器(Haar特征、Hog特征、LBP算法)。OpenCV中提供的人脸识别方法:LBPH、Eigenfaces、Fisherfaces_第7张图片

# -*- coding: utf-8 -*-
import cv2
#读取待检测的图像
image = cv2.imread('dface3.jpg')
# 获取xml文件,加载人脸检测器
faceCascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
# 色彩转换,转换为灰度图像
gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
# 调用函数detectMultiScale
faces = faceCascade.detectMultiScale(
    gray,
    scaleFactor = 1.15,
    minNeighbors = 5,
    minSize = (5,5)
)
print(faces)
#打印输出测试结果
print("发现{0}个人脸!".format(len(faces)))
#逐个标记人脸
for(x,y,w,h) in faces:
    #矩形标注
    # cv2.rectangle(image,(x,y),(x+w,y+w),(0,255,0),2) 
    cv2.circle(image,(int((x+x+w)/2),int((y+y+h)/2)),int(w/2),(0,255,0),2)
#显示结果
cv2.imshow("dect",image)
#保存检测结果
cv2.imwrite("re.jpg",image)
cv2.waitKey(0)
cv2.destroyAllWindows()

OpenCV中提供的训练好的分类器实现人脸检测:级联分类器(Haar特征、Hog特征、LBP算法)。OpenCV中提供的人脸识别方法:LBPH、Eigenfaces、Fisherfaces_第8张图片


LBPH人脸识别

OpenCV中提供的训练好的分类器实现人脸检测:级联分类器(Haar特征、Hog特征、LBP算法)。OpenCV中提供的人脸识别方法:LBPH、Eigenfaces、Fisherfaces_第9张图片

OpenCV中提供的训练好的分类器实现人脸检测:级联分类器(Haar特征、Hog特征、LBP算法)。OpenCV中提供的人脸识别方法:LBPH、Eigenfaces、Fisherfaces_第10张图片

OpenCV中提供的训练好的分类器实现人脸检测:级联分类器(Haar特征、Hog特征、LBP算法)。OpenCV中提供的人脸识别方法:LBPH、Eigenfaces、Fisherfaces_第11张图片

OpenCV中提供的训练好的分类器实现人脸检测:级联分类器(Haar特征、Hog特征、LBP算法)。OpenCV中提供的人脸识别方法:LBPH、Eigenfaces、Fisherfaces_第12张图片

OpenCV中提供的训练好的分类器实现人脸检测:级联分类器(Haar特征、Hog特征、LBP算法)。OpenCV中提供的人脸识别方法:LBPH、Eigenfaces、Fisherfaces_第13张图片

# -*- coding: utf-8 -*-
import cv2
import numpy as np
images=[]
images.append(cv2.imread("a1.png",cv2.IMREAD_GRAYSCALE))
images.append(cv2.imread("a2.png",cv2.IMREAD_GRAYSCALE))
images.append(cv2.imread("b1.png",cv2.IMREAD_GRAYSCALE))
images.append(cv2.imread("b2.png",cv2.IMREAD_GRAYSCALE))
labels=[0,0,1,1]
#print(labels)
recognizer = cv2.face.LBPHFaceRecognizer_create()
recognizer.train(images, np.array(labels))  
predict_image=cv2.imread("a3.png",cv2.IMREAD_GRAYSCALE)
label,confidence= recognizer.predict(predict_image) 
print("label=",label)
print("confidence=",confidence)

Eigenfaces人脸识别

OpenCV中提供的训练好的分类器实现人脸检测:级联分类器(Haar特征、Hog特征、LBP算法)。OpenCV中提供的人脸识别方法:LBPH、Eigenfaces、Fisherfaces_第14张图片

OpenCV中提供的训练好的分类器实现人脸检测:级联分类器(Haar特征、Hog特征、LBP算法)。OpenCV中提供的人脸识别方法:LBPH、Eigenfaces、Fisherfaces_第15张图片

OpenCV中提供的训练好的分类器实现人脸检测:级联分类器(Haar特征、Hog特征、LBP算法)。OpenCV中提供的人脸识别方法:LBPH、Eigenfaces、Fisherfaces_第16张图片

OpenCV中提供的训练好的分类器实现人脸检测:级联分类器(Haar特征、Hog特征、LBP算法)。OpenCV中提供的人脸识别方法:LBPH、Eigenfaces、Fisherfaces_第17张图片

# -*- coding: utf-8 -*-
import cv2
import numpy as np
images=[]
images.append(cv2.imread("e01.png",cv2.IMREAD_GRAYSCALE))
images.append(cv2.imread("e02.png",cv2.IMREAD_GRAYSCALE))
images.append(cv2.imread("e11.png",cv2.IMREAD_GRAYSCALE))
images.append(cv2.imread("e12.png",cv2.IMREAD_GRAYSCALE))
labels=[0,0,1,1]
#print(labels)
recognizer = cv2.face.EigenFaceRecognizer_create()
recognizer.train(images, np.array(labels))  
predict_image=cv2.imread("eTest.png",cv2.IMREAD_GRAYSCALE)
label,confidence= recognizer.predict(predict_image) 
print("label=",label)
print("confidence=",confidence)

Fisherfaces人脸识别

OpenCV中提供的训练好的分类器实现人脸检测:级联分类器(Haar特征、Hog特征、LBP算法)。OpenCV中提供的人脸识别方法:LBPH、Eigenfaces、Fisherfaces_第18张图片

OpenCV中提供的训练好的分类器实现人脸检测:级联分类器(Haar特征、Hog特征、LBP算法)。OpenCV中提供的人脸识别方法:LBPH、Eigenfaces、Fisherfaces_第19张图片

OpenCV中提供的训练好的分类器实现人脸检测:级联分类器(Haar特征、Hog特征、LBP算法)。OpenCV中提供的人脸识别方法:LBPH、Eigenfaces、Fisherfaces_第20张图片

OpenCV中提供的训练好的分类器实现人脸检测:级联分类器(Haar特征、Hog特征、LBP算法)。OpenCV中提供的人脸识别方法:LBPH、Eigenfaces、Fisherfaces_第21张图片

# -*- coding: utf-8 -*-
import cv2
import numpy as np
images=[]
images.append(cv2.imread("f01.png",cv2.IMREAD_GRAYSCALE))
images.append(cv2.imread("f02.png",cv2.IMREAD_GRAYSCALE))
images.append(cv2.imread("f11.png",cv2.IMREAD_GRAYSCALE))
images.append(cv2.imread("f12.png",cv2.IMREAD_GRAYSCALE))
labels=[0,0,1,1]
#print(labels)
recognizer = cv2.face.FisherFaceRecognizer_create()
recognizer.train(images, np.array(labels))  
predict_image=cv2.imread("fTest.png",cv2.IMREAD_GRAYSCALE)
label,confidence= recognizer.predict(predict_image) 
print("label=",label)
print("confidence=",confidence)

人脸数据库 OpenCV中提供的训练好的分类器实现人脸检测:级联分类器(Haar特征、Hog特征、LBP算法)。OpenCV中提供的人脸识别方法:LBPH、Eigenfaces、Fisherfaces_第22张图片

OpenCV中提供的训练好的分类器实现人脸检测:级联分类器(Haar特征、Hog特征、LBP算法)。OpenCV中提供的人脸识别方法:LBPH、Eigenfaces、Fisherfaces_第23张图片 

你可能感兴趣的:(人工智能,OpenCV)