对特定图像进行识别,最关键的是要有识别对象的特征文件。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(四)---人脸识别的更多相关文章

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

    想获得所有的代码,请下载(来自我的CSDN): https://download.csdn.net/download/qq_40875849/11292912 主函数: from recognitio ...

  2. 使用OpenCV进行人脸识别

    不断维护的地址:http://plzcoding.com/face-recognition-with-opencv/ 怎样使用OpenCV进行人脸识别 本文大部分来自OpenCV官网上的Face Re ...

  3. 基于 OpenCV 的人脸识别

    基于 OpenCV 的人脸识别 一点背景知识 OpenCV 是一个开源的计算机视觉和机器学习库.它包含成千上万优化过的算法,为各种计算机视觉应用提供了一个通用工具包.根据这个项目的关于页面,OpenC ...

  4. 10分钟手把手教你运用Python实现简单的人脸识别

    欲直接下载代码文件,关注我们的公众号哦!查看历史消息即可! 前言:让我的电脑认识我 我的电脑只有认识我,才配称之为我的电脑! 今天,我们用Python实现高大上的人脸识别技术! Python里,简单的 ...

  5. PyQt5+Caffe+Opencv搭建人脸识别登录界面

    PyQt5+Caffe+Opencv搭建人脸识别登录界面(转载) 最近开始学习Qt,结合之前学习过的caffe一起搭建了一个人脸识别登录系统的程序,新手可能有理解不到位的情况,还请大家多多指教. 我的 ...

  6. 转:基于开源项目OpenCV的人脸识别Demo版整理(不仅可以识别人脸,还可以识别眼睛鼻子嘴等)【模式识别中的翘楚】

    文章来自于:http://blog.renren.com/share/246648717/8171467499 基于开源项目OpenCV的人脸识别Demo版整理(不仅可以识别人脸,还可以识别眼睛鼻子嘴 ...

  7. opencv+opencv_contrib 人脸识别和检测 python开发环境快速搭建(30分钟)图文教程

    很多朋友为了学习python.ML(机器学习).DL(深度学习).opencv等花费了大量时间配置安装环境(一个朋友花了4天时间才配置好)各种搜索.下载.安装配置,出问题等. 市面上的配置资料很多,选 ...

  8. python中使用Opencv进行人脸识别

    上一节讲到人脸检测,现在讲一下人脸识别.具体是通过程序采集图像并进行训练,并且基于这些训练的图像对人脸进行动态识别. 人脸识别前所需要的人脸库可以通过两种方式获得:1.自己从视频获取图像   2.从人 ...

  9. opencv实现人脸识别(四) 人脸识别模块

    到这一步就是进行人脸识别了. 流程图: 代码: import cv2 def recognize(cam): recognizer = cv2.face.LBPHFaceRecognizer_crea ...

随机推荐

  1. sql 语句-初级进阶(二)

    1.insert插入数据时注意事项: 每次插入一整行,不能半行或者是几列数据. 值与列数必须相同,包括数据类型也必须匹配. 不能为标识列指定值(就是最前面的那一序号列),它是自动增长的 列的数据类型为 ...

  2. linux备份还原命令

    使用范围:1.可以作为系统还原点,还原到备份时的状态 2.系统完全损坏后无法启动,通过引导盘恢复 一.备份还原系统命令 方法一: 备份:tar cvpzf backup.tgz --exclude=/ ...

  3. Linux/Unix环境下的make命令详解

    https://blog.csdn.net/wxqian25/article/details/21226711

  4. Git常用命令集锦

    本篇Git命令博客主要是一些Git常用命令,适合于有一定Git或linux基础的小伙伴进行参考 1.新建文件夹 mkdir 文件夹名 2.查看目录机构: pwd 3.将文件添加至Git管理范围:git ...

  5. 【English】20190328

    Emotions情绪 [ɪ'moʊʃənz]  Run Your Life for Teens影响你的青少年生活[ti:nz] Don't Let Your Emotions Run Your Lif ...

  6. 2018-2019-2 20175329许钰玮 实验二《Java面向对象程序设计》实验报告

    实验内容 1.初步掌握单元测试和TDD 2.理解并掌握面向对象三要素:封装.继承.多态 3.初步掌握UML建模 4.熟悉S.O.L.I.D原则 5.了解设计模式 (一)单元测试 对于单元测试中单元的含 ...

  7. c++stack类的用法

    官方解释: LIFO stack Stacks are a type of container adaptor, specifically designed to operate in a LIFO ...

  8. kubernete 本地持久化存储 kube-controller-manager的日志输出 + pvc pv 概念 -- storageclass 概念

    1.mysql持久化存储 [root@pserver78 0415villa]# cat latestmysql.yaml |grep -v '^#' apiVersion: v1 kind: Ser ...

  9. Auto Layout - BNR

    继续UIImageView - BNR篇. 通过Homepwner TARGETS -> General -> Deployment Info -> Devices中的iPhone改 ...

  10. spring @CrossOrigin解决跨域问题

    阅读目录: 一.跨域(CORS)支持: 二.使用方法: 1.controller配置CORS 2.全局CORS配置 3.XML命名空间 4.How does it work? 5.基于过滤器的CORS ...