基于python的人脸识别(检测人脸、眼睛、嘴巴、鼻子......)
本文链接:https://blog.csdn.net/James_Ray_Murphy/article/details/79209172
import numpy as np
import cv2 # 脸
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
face_cascade.load('D:BROWSE/Opencv/opencv/sources/data/haarcascades/haarcascade_frontalface_default.xml')
# 眼睛
eye_cascade = cv2.CascadeClassifier('haarcascade_eye.xml')
eye_cascade.load('D:BROWSE/Opencv/opencv/sources/data/haarcascades/haarcascade_eye.xml')
#嘴巴
mouth_cascade = cv2.CascadeClassifier('haarcascade_mcs_mouth.xml')
mouth_cascade.load('D:BROWSE/Opencv/opencv/sources/data/haarcascades/haarcascade_mcs_mouth.xml')
#鼻子
nose_cascade = cv2.CascadeClassifier('haarcascade_mcs_nose.xml')
nose_cascade.load('D:BROWSE/Opencv/opencv/sources/data/haarcascades/haarcascade_mcs_nose.xml')
#耳朵
leftear_cascade = cv2.CascadeClassifier('haarcascade_mcs_leftear.xml')
leftear_cascade.load('D:BROWSE/Opencv/opencv/sources/data/haarcascades/haarcascade_mcs_leftear.xml')
rightear_cascade = cv2.CascadeClassifier('haarcascade_mcs_rightear.xml')
rightear_cascade.load('D:BROWSE/Opencv/opencv/sources/data/haarcascades/haarcascade_mcs_rightear.xml') #face_cascade = cv2.CascadeClassifier("../../opencv-2.4.9/data/haarcascades/haarcascade_frontalface_default.xml")
#eye_cascade = cv2.CascadeClassifier('../../opencv-2.4.9/data/haarcascades/haarcascade_eye.xml') img = cv2.imread('22.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) #脸
faces = face_cascade.detectMultiScale(gray, 1.2, 3)
for (x, y, w, h) in faces:
img = cv2.rectangle(img, (x,y),(x+w, y+h), (255, 0, 0), 2)
roi_gray = gray[y:y+h, x:x+w]
roi_color = img[y:y+h, x:x+w]
#眼睛
eyes = eye_cascade.detectMultiScale(roi_gray, 1.2, 3)
for (ex,ey,ew,eh) in eyes:
cv2.rectangle(roi_color, (ex, ey),(ex+ew, ey+eh), (0, 255, 0), 2)
#嘴巴
mouth = mouth_cascade.detectMultiScale(roi_gray, 1.5,5)
for (mx, my, mw, mh) in mouth:
cv2.rectangle(roi_color, (mx, my), (mx+mw, my+mh), (0, 0, 255), 2)
#鼻子
nose = nose_cascade.detectMultiScale(roi_gray, 1.2, 5)
for (nx, ny, nw, nh) in nose:
cv2.rectangle(roi_color, (nx, ny), (nx+nw, ny+nh), (255, 0, 255), 2) #耳朵
leftear = leftear_cascade.detectMultiScale(roi_gray,1.01, 2)
for (lx, ly, lw, lh) in leftear:
cv2.rectangle(roi_color, (lx, ly), (lx+lw, ly+lh), (0, 0, 0), 2) rightear = rightear_cascade.detectMultiScale(roi_gray, 1.01, 2)
for (rx, ry, rw, rh) in rightear:
cv2.rectangle(roi_color, (rx, ry), (rx+rw, ry+rh), (0, 0, 0), 2) cv2.imshow('img', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
上效果图:

参考博客:
1. 点击打开链接
2.点击打开链接
基于python的人脸识别(检测人脸、眼睛、嘴巴、鼻子......)的更多相关文章
- 基于node.js人脸识别之人脸对比
基于node.js人脸识别之人脸对比 Node.js简介 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境. Node.js 使用了一个事件驱动.非阻塞式 I/O ...
- 基于Python使用SVM识别简单的字符验证码的完整代码开源分享
关键字:Python,SVM,字符验证码,机器学习,验证码识别 1 概述 基于Python使用SVM识别简单的验证字符串的完整代码开源分享. 因为目前有了更厉害的新技术来解决这类问题了,但是本文作 ...
- java 虹软ArcFace 2.0,java SDK使用、人脸识别-抽取人脸特征并做比对
java人脸识别 虹软ArcFace 2.0,java SDK使用.人脸识别-抽取人脸特征并做比对 虹软产品地址:http://ai.arcsoft.com.cn/product/arcface.ht ...
- 基于Python的face_recognition库实现人脸识别
一.face_recognition库简介 face_recognition是Python的一个开源人脸识别库,支持Python 3.3+和Python 2.7.引用官网介绍: Recognize a ...
- 人脸识别系统 —— 基于python的人工智能识别核心
起因 自打用python+django写了一个点菜系统,就一直沉迷python编程.正好前几天公司boss要我研究一下人脸识别,于是我先用python编写了一个人脸识别系统的核心,用于之后的整个系统. ...
- python opencv3 静态图片检测人脸
git:https://github.com/linyi0604/Computer-Vision # coding:utf-8 import cv2 filename = "../data/ ...
- 使用python3.7和opencv4.1来实现人脸识别和人脸特征比对以及模型训练
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_126 OpenCV4.1已经发布将近一年了,其人脸识别速度和性能有了一定的提高,这里我们使用opencv来做一个实时活体面部识别的 ...
- 干货 | AI人脸识别之人脸搜索
本文档将利用京东云AI SDK来实践人脸识别中的人脸搜索功能,主要涉及到分组创建/删除.分组列表获取.人脸创建/删除.人脸搜索,本次实操的最终效果是:创建一个人脸库,拿一张图片在人脸库中搜索出相似度最 ...
- face-api.js 前端人脸识别,人脸检测,登录认证
1.参考face-api.js https://github.com/justadudewhohacks/face-api.js#face-api.js-for-the-browser
- 百度云人脸识别API人脸对比
from urllib import request import base64 import requests import re import json import urllib import ...
随机推荐
- DB2检查数据在各节点分布情况
情景:总所周知,DB2的表空间(数据)在节点中存储是根据每张表的分区键来分布的,如果分区键建的不好,会直接导致表空间在各节点的占用大小不均匀,久而久之,其中一个或几个节点的大小已所剩无几,其他的却依旧 ...
- Win10安装MySQL5.7版本 解压缩版方法
1.下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads 直接点击下载项 下载后: 2.可以把解压的内容随便放到一个目录,我的是如 ...
- JS获取当前月份的最后一天
<button onclick="function_name()">获取当前月份的最后一天</button> <script type="t ...
- Notes for <<Thinking In Java>>
String Thus, when you create a toString( ) method, if the operations are simple ones that the comp ...
- Alpha版本发布
Alpha版本发布 Part1.基本介绍 作业所属课程 课程链接 作业要求 要求链接 团队名称 Typhoon 作业目标 通过本次团队项目,体验通过使用软件工程来研发项目的 ...
- linux个人常用命令【持续更新】
netstat -tnl 查看网络相关的端口情况 ps -A 查看所有进程的情况 cat /proc/cpuinfo| grep "physical id"| sort| uniq ...
- 河南省acm第九届省赛--《表达式求值》--栈和后缀表达式的变形--手速题
表达式求值 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 假设表达式定义为:1. 一个十进制的正整数 X 是一个表达式.2. 如果 X 和 Y 是 表达式,则 X+Y, ...
- Factorization Machines
- Codeforces Round #597 (Div. 2) B. Restricted RPS
链接: https://codeforces.com/contest/1245/problem/B 题意: Let n be a positive integer. Let a,b,c be nonn ...
- 使用Java实现数据库编程-----------查询学生记录
查询所有学生记录,包含年级名称 @Override public LIst<Student>getAllStudent() throws Exception{ List<Studen ...