通过python中的cv2模块进行人脸识别,需要对cv2模块有一定的认识。

imread()方法:ret,image=cv2.imread(filename,[,flags]),其中filename是图像文件的路径及名称(图像文件的路径为绝对路径),flags是图像处理的标志位(通知程序以何种方式加载图片),通常flags选取默认值。imread()方法读取出的图片格式为BGR格式,并不是通常的RGB格式。imread()方法的两个返回值,ret为布尔类型,表示是否正确打开图片;image为图片的三维矩阵。

imshow()方法:imshow()方法用来进行图像显示,方法中包含两个参数,参数一为图像显示窗体的名称,参数二为图像内容矩阵。

cvtColor()方法:cvtColor(p1,p2)方法用来改变色彩空间,参数p1是需要转换的图片,参数p2是转换成的格式。对于BGR—>灰色转换,我们使用标志cv2.COLOR_BGR2GRAY;同样,对于BGR —>HSV,我们使用标志cv2.COLOR_BGR2HSV。

rectangle()方法:cv2.rectangle(image,(x,y),(x+w,y+h),(0,255,0),2),image是输入的图像;(x,y)是矩阵的坐上点坐标;(x+w,y+h)是矩阵的右下点坐标;color:(0,255,0)是画线对应的颜色,由于imread()方法读取出的图像为BGR格式,所以(0,255,0)对应的颜色为绿色;2是画线对应的宽度。

OpenCV中人脸识别分类器:cv2.CascadeClassfier(“haarcascade_frontalface_default.xml”)。

识别人脸的步骤:(1)加载分类器(分类器事先放在工程目录里)haarcascade_frontalface_default.xml;(2)调用detectMultiScale()函数进行检测,调整参数可以使检测结果更加准确;(3)把检测到的人脸用矩形框出来。

cv2.CascadeClassfier.detectMultiScale(image,scaleFactor,minNeighbors,minSize,maxSize)—>objects
image:需要检测的图像
scaleFactor:每次图像尺寸减小的比例
minNeighbors:每一个目标至少被检测到3次才算检测到目标
minSize:目标的最小尺寸
maxSize:目标的最大尺寸

粗略地介绍cv2模块中部分方法的使用之后,接下来我们通过代码进行演示。

import cv2filepath = "frame0.jpg"
image = cv2.imread(filepath)gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
classfier = cv2.CascadeClassifier("haarcascade_frontalface_default.xml")
faceRect = classfier.detectMultiScale(gray, scaleFactor=1.6, minNeighbors=3,minSize=(50,50))
if len(faceRect):for face in faceRect:x, y, w, h = facecv2.rectangle(image, (x, y), (x + w, y + h), (0, 255, 0), 2)cv2.imshow("frame0", image)
c = cv2.waitKey(10)cv2.waitKey(0)
cv2.destroyAllWindows()



通过以上代码,简单地实现了人脸识别。

基于cv2模块的人脸识别相关推荐

  1. 基于OpenCV的简单人脸识别系统

    目录 1. 调用库函数 2. 调用摄像头并设置窗口 3. 设置图片正负样本数据集的路径 4. 调用人脸检测器 5. 正负样本载入 6.提取人脸区域 7. 建立LBPH人脸识别模型 8. 实时检测 9. ...

  2. 基于 OpenCV + Python 的人脸识别上课签到系统

    目录 前言 安装第三方库 第一步:采集人脸图像 (1)修改姓名学号 (2)运行capture_face.py (3)采集人脸图像 (4)查看采集到的人脸图像 第二步:训练模型 第三步:识别签到 (1) ...

  3. 《繁凡的论文精读》(一)CVPR 2019 基于决策的高效人脸识别黑盒对抗攻击(清华朱军)

    点我一文弄懂深度学习所有基础和各大主流研究方向! <繁凡的深度学习笔记>,包含深度学习基础和 TensorFlow2.0,PyTorch 详解,以及 CNN,RNN,GNN,AE,GAN, ...

  4. 基于Python的开源人脸识别库:离线识别率高达99.38%

    基于Python的开源人脸识别库:离线识别率高达99.38% 2019年04月18日 18:13:18 AI终结者 阅读数 1233 项目地址:https://github.com/ageitgey/ ...

  5. ​​​​​​​CV:利用cv2(加载人脸识别xml文件及detectMultiScale函数得到人脸列表)+keras的load_model(加载表情hdf5、性别hdf5)并标注

    CV:利用cv2+自定义load_detection_model(加载人脸识别xml文件及detectMultiScale函数得到人脸列表)+keras的load_model(加载表情hdf5.性别h ...

  6. 身份验证错误错误指定的句柄无效_基于 Web 端的人脸识别身份验证「实践」

    作者:沫沫 政采云前端团队 转发链接:https://mp.weixin.qq.com/s/fRDpXixnLIy9c0Uh2tMezQ 前言 近些年来,随着生物识别技术的逐渐成熟,基于深度学习的人脸 ...

  7. Python人脸识别教程 - 基于Python的开源人脸识别库:离线识别率高达99.38%

    Python人脸识别教程 - 基于Python的开源人脸识别库:离线识别率高达99.38% 仅用 Python 和命令行就可以实现人脸识别的库开源了.该库使用 dlib 顶尖的深度学习人脸识别技术构建 ...

  8. 上交AI研究院副院长马利庄:基于大数据的人脸识别技术进展与展望

    文章发布于公号[数智物语] (ID:decision_engine),关注公号不错过每一篇干货. 转自 | 中国人工智能学会 本篇大家整理的是来自上海交通大学人工智能研究院副院长.华东师范大学特聘教授 ...

  9. 模式识别与机器学习(作业5)基于PCA–LDA的人脸识别

    基于PCA–LDA的人脸识别 ORC数据集 提取码: cggh 本次的实验是在模式识别与机器学习(作业4),PCA降维的基础上加入了线性判别分析,对维度进行了进一步的降低. 1. 导入数据 一共有40 ...

最新文章

  1. 机器学习中的数学基础:(1.1)矩阵特征值和特征向量的几何意义
  2. 虎符杯——虚拟机逆向
  3. mysql 开启守护进程_[求助]Linux上MySQL Server 5.6 安装后无法启动守护进程
  4. python将txt文件中的大小写转换_面试题:Python大小写转换
  5. Java基础(1):Java简介和开发环境配置
  6. easyui框架中关于dialog自带关闭事件的使用
  7. gradle依赖冲突的解决方式
  8. 第一部分----HTML的基本结构与基本标签
  9. Python开发人员最喜欢的工具
  10. 网吧电脑显示连不上服务器,Pubwin客户机连不上服务器怎么办?
  11. 小凡虚拟机桥接到pc步骤实施
  12. 常见单位换算[时间,距离,热量...]
  13. JDBC第四篇【数据库连接池、DbUtils框架、分页】(修订版)
  14. Oracle ORA-01460报错解决方法
  15. 从欧几里得到拓展欧几里得
  16. clang++ exe error unable to execute command Couldnt execute program文件名或扩展名太长
  17. 安卓机器人做图软件_绘图机器人andy软件下载-美图秀秀绘图机器人andy_5577安卓网...
  18. linux ac3165驱动下载,驱动程序无线网卡固件( 英特尔 3165 iwlwifi ) 仅适用于内核 4.1 +: 在内核 3.19的办法?...
  19. 固定资产的主要包括哪些
  20. java 最小众倍数_c学习 - osc_p1q9onsn的个人空间 - OSCHINA - 中文开源技术交流社区...

热门文章

  1. 手工玫瑰花_手工折纸玫瑰花的超级好学教程(转)
  2. 08年研发中心Q4大会上分享的PPT【再往前试试、常回头看看、倒过来想想】
  3. 非controller层调用service2种
  4. :-1: error: collect2: error: ld returned 1 exit status
  5. 激光雷达和相机联合标定之cam_lidar_calibration
  6. 【语义分割专题】语义分割前期预处理工作--数据处理
  7. 宽带电视显示无法解析服务器域名怎么办,域名解析到服务器后无法访问怎么解决?...
  8. 基于MFC实现的赛车游戏
  9. 论文: Concurrency of Operations on B-Trees (一)
  10. 【如何制作幻灯片】Focusky教程 | 如何复制Focusky的帧?