python之OpenCv(四)---人脸识别
对特定图像进行识别,最关键的是要有识别对象的特征文件。OpenCV已经内置了人脸识别特征文件,我们只要使用OpenCV的CascadeClassifier类即可进行识别。
语法:
https://github.com/opencv/opencv.git 在这里可以下载特征文件,在data目录下
识别对象变量 = cv2.CascadeClassifier(特征文件)、、
识别对象
识别结果变量 = 识别对象变量.detectMultiScale(图片,参数1,参数2,。。。)
参数有:
1、scaleFactor: 其原理是系统会以不同的区块大小对图片进行扫描,在进行特征对比。此参数用户设置区块的改变倍数,如无特别需求,一般设置为1.1
2、minNeighbors 此为控制误检率参数,默认值为3
3、minSize 设置最小的识别区块
4、maxSize 设置最大的识别区块
5、flags 此参数设置检测模式,可取值如下:
cv2.CV_HAAR_SCALE_IMAGE 按比例检测
cv2.CV_HAAR_DO_CANNY_PRUNING 利用Canny 边缘检测器排除一些边缘很少或很多的图像区域
cv2.CV_HAAR_FIND_BIGGEST_OBJECT 只检测最大物体
cv2.CV_HAAR_DO_ROUGH_SEARCH 只做初步检测
face = faceCascade.detectMultiScale(image,scakeFactor=1.1,minSize=(10,10),minNeighbors=5,flags = cv2.CASCADE_SCALE_IMAGE)
detectMultiScale 方法可以识别多个面部,返回值是一个列表
for (x,y,w,h) in face:
x,y 表示面部区域的左上角x,y坐标;w,h表示面部区域的宽度和高度
import cv2
#基本绘图
# import numpy
#
cv2.namedWindow("Image") #创建窗口
#
img = cv2.imread('20180703200225.jpg') #读取图像 #人脸识别 #img.shape[0] 获取图片的高度 img.shape[1] 获取图片的宽度 faceCascade = cv2.CascadeClassifier(r'./haarcascade_frontalface_default.xml') faces = faceCascade.detectMultiScale(img,scaleFactor = 1.1,minNeighbors = 5,minSize = (10,10),flags = cv2.CASCADE_SCALE_IMAGE) cv2.putText(img,"Find"+str(len(faces))+"faces",(10,img.shape[0]-5),cv2.FONT_HERSHEY_SIMPLEX,1,(255,232,133),2) for (x,y,w,h) in faces:
cv2.rectangle(img,(x,y),(x+w,y+h),(128,255,0),2)
print(x,y,w,h) #cv2.imshow('Image',img)
cv2.imwrite('test.jpg',img)
cv2.waitKey(0)
cv2.destroyAllWindow()
python之OpenCv(四)---人脸识别的更多相关文章
- python基于OpenCV的人脸识别系统
想获得所有的代码,请下载(来自我的CSDN): https://download.csdn.net/download/qq_40875849/11292912 主函数: from recognitio ...
- 使用OpenCV进行人脸识别
不断维护的地址:http://plzcoding.com/face-recognition-with-opencv/ 怎样使用OpenCV进行人脸识别 本文大部分来自OpenCV官网上的Face Re ...
- 基于 OpenCV 的人脸识别
基于 OpenCV 的人脸识别 一点背景知识 OpenCV 是一个开源的计算机视觉和机器学习库.它包含成千上万优化过的算法,为各种计算机视觉应用提供了一个通用工具包.根据这个项目的关于页面,OpenC ...
- 10分钟手把手教你运用Python实现简单的人脸识别
欲直接下载代码文件,关注我们的公众号哦!查看历史消息即可! 前言:让我的电脑认识我 我的电脑只有认识我,才配称之为我的电脑! 今天,我们用Python实现高大上的人脸识别技术! Python里,简单的 ...
- PyQt5+Caffe+Opencv搭建人脸识别登录界面
PyQt5+Caffe+Opencv搭建人脸识别登录界面(转载) 最近开始学习Qt,结合之前学习过的caffe一起搭建了一个人脸识别登录系统的程序,新手可能有理解不到位的情况,还请大家多多指教. 我的 ...
- 转:基于开源项目OpenCV的人脸识别Demo版整理(不仅可以识别人脸,还可以识别眼睛鼻子嘴等)【模式识别中的翘楚】
文章来自于:http://blog.renren.com/share/246648717/8171467499 基于开源项目OpenCV的人脸识别Demo版整理(不仅可以识别人脸,还可以识别眼睛鼻子嘴 ...
- opencv+opencv_contrib 人脸识别和检测 python开发环境快速搭建(30分钟)图文教程
很多朋友为了学习python.ML(机器学习).DL(深度学习).opencv等花费了大量时间配置安装环境(一个朋友花了4天时间才配置好)各种搜索.下载.安装配置,出问题等. 市面上的配置资料很多,选 ...
- python中使用Opencv进行人脸识别
上一节讲到人脸检测,现在讲一下人脸识别.具体是通过程序采集图像并进行训练,并且基于这些训练的图像对人脸进行动态识别. 人脸识别前所需要的人脸库可以通过两种方式获得:1.自己从视频获取图像 2.从人 ...
- opencv实现人脸识别(四) 人脸识别模块
到这一步就是进行人脸识别了. 流程图: 代码: import cv2 def recognize(cam): recognizer = cv2.face.LBPHFaceRecognizer_crea ...
随机推荐
- 【原】Java学习笔记017 - 面向对象
package cn.temptation; public class Sample01 { public static void main(String[] args) { // 继承关系中的pri ...
- c/c++ linux epoll系列3 利用epoll_wait设置timeout时间长度
linux epoll系列3 利用epoll_wait设置timeout时间长度 epoll_wait函数的第四个参数可以设置,epoll_wait函数的等待时间(timeout时间长度). 例子1, ...
- java源码equals和hashCode
equals public boolean equals(Object anObject) { if (this == anObject) { return true; } if (anObject ...
- Python爬虫【实战篇】百度贴吧爬取页面存到本地
先上代码 import requests class TiebaSpider: def __init__(self, tieba_name): self.tieba_name = tieba_name ...
- Offset Management For Apache Kafka With Apache Spark Streaming
An ingest pattern that we commonly see being adopted at Cloudera customers is Apache Spark Streaming ...
- Docker(3):Dockerfile配置详解
FROM : 指定base镜像 MAINTAINER :设置镜像的作者,可以是任意的字符串 COPY :将文件从build context 复制到镜像 COPY 支持两种形式:COPY src ...
- 《通过C#学Proto.Actor模型》之Mailbox
邮箱是Actor模型的一个重要组成部分,负责接收发过来的消息,并保存起来,等待Actor处理.邮箱中维护着两种队列,一种是存系统消息,另一个是存用户消息,系统省是指Started,Stoping,St ...
- devmem读写物理内存和devkmem读取内核虚拟内存
关键词:/dev/mem./dev/kmem.mmap.__va.__pa.remap_pfn_range等等. 在日常工作中常有直接操作寄存器或者某一物理地址的需求,busybox中提供了devme ...
- 基于vue-simple-uploader封装文件分片上传、秒传及断点续传的全局上传插件
目录 1. 前言 2. 关于vue-simple-uploader 3. 基于vue-simple-uploader封装全局上传组件 4. 文件上传流程概览 5. 文件分片 6. MD5的计算过程 7 ...
- 【第二篇】ASP.NET MVC快速入门之数据注解(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...