初学python的同学,可能希望利用python搞一搞人脸识别。在这里,介绍一个比较简单的人脸识别的程序,python加上opencv进行人脸识别。
工具:python3.10
opencv4.5.4
平台:win10
vscode
人脸识别程序:
import cv2
import cv2 as cv
import numpy as np
def face_detect(path):
img=cv.imread(path)
name=path.split('.')[1]
print(img)
if (img.ndim==3):
gray=cv.cvtColor(img,cv.COLOR_BGR2GRAY)
else:
gray=img
face_cas=cv.CascadeClassifier('opencvtestpro01\haarcascade_frontalface_default.xml')
face_scale=face_cas.detectMultiScale(gray,1.1,5,0,(100,100),(400,400))
print(face_scale)
for (x,y,w,h) in face_scale:
cv.rectangle(img,(x,y),(x+w,y+h),(0,255,0),1)
cv.putText(img,name,(x+10,y-10),cv2.FONT_HERSHEY_SIMPLEX,1.2,(0,255,0),1)
cv.imshow('img',img)
#cv.resizeWindow('img',640,480)
cv.waitKey(0)
cv.destroyAllWindows()
if __name__=='__main__':
face_detect('opencvtestpro01\\3.gzl.jpg')
上面的程序,如果想要复制使用的话,需要替换一下其中的图片的路径:
opencvtestpro01\3.gzl.jpg
换成自己的图片路径就好。
另外需要下载一下,人脸检测模型文件:
opencvtestpro01\haarcascade_frontalface_default.xml
这个就是用于人脸模型识别的文件,可以识别出图片的人脸位置。
实例运行效果: