qcode
  • 创作工场专业版,一问多答!更智能、更完整、更原创
  • 这是一个超强内容创作平台,它会写文章、做设计、绘图、敲代码,有问必答!
🔥点击使用-高级专业版🔥

人脸识别详细代码

时间2023-03-12 20:42:01 提问来自 广东省广州市 的网友 分类创作 浏览318
1. 导入必要的库 ```python import cv2 import numpy as np ``` 2. 加载人脸检测器和人脸识别器: ```python #加载人脸检测器 #可以使用opencv中的haar特征或者LBP特征来构造一个人脸检测器 #这里使用haar特征来实现 #加载haar特征分类器 face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') #加载人脸识别模型 recognizer = cv2.face.LBPHFaceRecognizer_create() #加载之前保存的数据集 recognizer.read('trainer/trainer.yml') ``` 3. 设置参数: ```python #字体 font = cv2.FONT_HERSHEY_SIMPLEX #将id映射成对应的名字 id=0 names = ['None', 'ZhangSan', 'LiSi'] ``` 4、开始读取图片并进行处理: ```python img = cv2.imread('test/test1.jpg') gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) #在图片上进行人脸检测 faces=face_cascade .detectMultiScale(gray, scaleFactor=1 .3, minNeighbors=5) for (x,y,w,h) in faces: ##截取出当前帧中找到的所有面部 roi_gray=gray[y:y+h , x:x+w] roi_color=img[y:y+h , x:x+w] ##使用LBPHFaceRecognizer预测出当前帧中的面部id id,conf=recognizer .predict(roi _gray) ##将id映射为对应的名字 name=names[id] ##圈出当前帧中找到的所有面部并显示其名字 color=(255 , 0 , 0 ) stroke= 2 end _coordinateX = x + w end _coordinateY = y + h cv2 .rectangle(img , (x , y),(end _coordinateX , end _coordinateY),color , stroke ) cv2 .putText(img , name, (x+30 , y+30 ), font , 1 , color ) ##显示图片并保存在本地目录下 cv2 .imshow('frame' img) if cv 2 waitKey (100 ) & 0xff == ord ('q'): break cap .release () CV 2 destroyAllWindows () ```

点击这里,进行内容创作

创作工场 免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。
点击这里>>使用🔥专业版,更聪明、更完整、更原创!

上一篇 人脸识别的程序代码 下一篇 能否再详细一点,包括历史方面,谢谢!