【python人脸识别】 ——做一个简单的图片AI人脸识别程序
点个赞留个关注吧!!安装模块,模块版本低的可以更新一下模块,然后导入模块pip install cv2#安装模块pip install -U cv2#更新模块import cv2#导入模块需要加入xml识别框架face_engine = cv2.CascadeClassifier(cv2.data.haarcascades+'./haarcascade_frontalface_default.xm
·
点个赞留个关注吧!!
安装模块,模块版本低的可以更新一下模块,然后导入模块
pip install cv2 #安装模块
pip install -U cv2 #更新模块
import cv2 #导入模块
需要加入xml识别框架
face_engine = cv2.CascadeClassifier(cv2.data.haarcascades+'./haarcascade_frontalface_default.xml') # 加载人脸模型检测
eye_engine = cv2.CascadeClassifier(cv2.data.haarcascades+'./haarcascade_eye.xml') # 加载人眼模型检测
haarcascade_eye.xml 和 haarcascade_frontalface_default.xml 可以去
C:/Users/用户名/AppData/Local/Programs/Python/Python310/Lib/site-packages/cv2/data
里面查找
脸部框架绘制、眼部绘制
cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2) # 脸部框图绘制
cv2.rectangle(face_area,(ex,ey),(ex+ew,ey+eh),(0,255,0),1) # 眼部框图绘制
加入一个可调节细节识别,值越大越不容易分辨,值越小,越容易分辨但是容易识别到不是人脸的部分,建议将值填写到1.4
face_engine.detectMultiScale(img,scaleFactor=1.4,minNeighbors=5) # 参数可调 ,有利于分辨
将识别的绘制的图片进行展示出来
cv2.imshow(" ", img) # 检测的图片展示
里面加入了保存图片的功能,如果识别成功了,则会自动保存,否则不保存,
# 将识别成功的人脸保存下来
if len(img) > 1:
cv2.imwrite(f"{img}-成功.jpg", img)
else:
pass
演示:
完整代码:
import cv2
img = cv2.imread(r'./1.jpg') # 导入照片
face_engine = cv2.CascadeClassifier(cv2.data.haarcascades+'./haarcascade_frontalface_default.xml') # 加载人脸模型检测
eye_engine = cv2.CascadeClassifier(cv2.data.haarcascades+'./haarcascade_eye.xml') # 加载人眼模型检测
face = face_engine.detectMultiScale(img,scaleFactor=1.4,minNeighbors=5) # 参数可调,有利于分辨
for (x,y,w,h)in face:
img = cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2) # 脸部框图绘制
face_area = img[y:y+h,x:x+w] # 将眼部检测区域范围缩小,减少检测时间
eye = eye_engine.detectMultiScale(face_area,1.3,10)
for (ex,ey,ew,eh) in eye:
cv2.rectangle(face_area,(ex,ey),(ex+ew,ey+eh),(0,255,0),1) # 眼部框图绘制
# 将识别成功的人脸保存下来
if len(img) > 1:
cv2.imwrite(f"{img}-成功.jpg", img)
else:
pass
cv2.imshow(" ", img) # 检测的图片展示
cv2.waitKey(0) # 循环
cv2.destroyAllWindows()
更多推荐
已为社区贡献3条内容
所有评论(0)