Python实现人脸识别

谁借莪1个温暖的怀抱¢ 2022-02-04 15:59 378阅读 0赞

案例分析

概述

  1. Python在人脸识别方面功能很强大,程序语言简单高效,下面编程实现一下如何实现人脸识别。分别给出实现代码,作为学习和技术交流。

Python基础环境准备

参见:https://blog.csdn.net/yan_dk/article/details/89528463

案例实现

打开显示图片

  1. import cv2 #opencv库
  2. #读取图片
  3. image=cv2.imread('imgs/face_exam1.jpg')
  4. #显示图片窗口
  5. cv2.imshow('faces',image)
  6. #窗口暂停
  7. cv2.waitKey(0)
  8. #销毁窗口资源
  9. cv2.destoryAllWindows()

运行效果图

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbl9kaw_size_16_color_FFFFFF_t_70

识别图片上的人脸

  1. import cv2 #opencv库
  2. #读取图片
  3. image=cv2.imread('imgs/face_exam0.jpg')
  4. #加载人脸模型库
  5. face_model=cv2.CascadeClassifier('plugins/opencv/haarcascade_frontalcatface.xml')
  6. #图片进行灰度处理
  7. gray = cv2.cvtColor(image,cv2.COLOR_RGB2GRAY)
  8. #人脸检测
  9. faces = face_model.detectMultiScale(gray)
  10. #标记人脸
  11. for (x,y,w,h) in faces:
  12. #1.原始图片;2坐标点;3.矩形宽高 4.颜色值(RGB);5.线框
  13. cv2.rectangle(image,(x,y),(x+w,y+h),(0,255,0),2)
  14. #显示图片窗口
  15. cv2.imshow('faces',image)
  16. #窗口暂停
  17. cv2.waitKey(0)
  18. #销毁窗口
  19. cv2.destroyAllWindows()

运行效果图

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbl9kaw_size_16_color_FFFFFF_t_70 1

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbl9kaw_size_16_color_FFFFFF_t_70 2

视频中的人脸识别

  1. #加载人脸模型库
  2. face_model=cv2.CascadeClassifier('plugins/opencv/facemodel.xml')
  3. #打开摄像头
  4. capcure=cv2.VideoCapture(0)
  5. #获取摄像头实时画面
  6. while True:
  7. # 读取摄像头当前这一帧的画面 ret:True fase image:当前这一帧画面
  8. ret,image = capcure.read()
  9. # 图片灰度处理
  10. gray = cv2.cvtColor(image,cv2.COLOR_RGB2GRAY)
  11. # 检查人脸
  12. faces=face_model.detectMultiScale(gray,1.1,3,0,(20.20))
  13. #标记人脸
  14. for (x,y,w,h) in faces:
  15. #矩形标记
  16. cv2.rectangle(image,(x,y),(x+w,y+h),(0,255,0),2)
  17. #显示图片
  18. cv2.imshow("faces in video",image)
  19. #暂停窗口
  20. if cv2.waitKey(5) & 0xFF ==ord('q'):
  21. break
  22. #释放资源
  23. capcure.release()
  24. #销毁窗口
  25. cv2.destroyAllWindows()

运行效果图

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbl9kaw_size_16_color_FFFFFF_t_70 3

问题记录

问题:报错(-215:Assertion failed) !_src.empty() in function ‘cv::cvtColor’

解决:参考:https://blog.csdn.net/jacke121/article/details/86213617

持续完善,待续…

发表评论

表情:
评论列表 (有 0 条评论,378人围观)

还没有评论,来说两句吧...

相关阅读