资源简介
可同时识别多人,并且识别出来的人的人名存入txt中
代码片段和文件信息
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Copyright (c) Philipp Wagner. All rights reserved.
# Licensed under the BSD license. See LICENSE file in the project root for full license information.
import sys
import os
import cv2
import numpy as np
class Detector:
def detect(self src):
raise NotImplementedError(“Every Detector must implement the detect method.“)
class SkinDetector(Detector):
“““
Implements common color thresholding rules for the RGB YCrCb and HSV color
space. The values are taken from a paper which I can‘t find right now so
be careful with this detector.
“““
def _R1(selfBGR):
# channels
B = BGR[::0]
G = BGR[::1]
R = BGR[::2]
e1 = (R>95) & (G>40) & (B>20) & ((np.maximum(Rnp.maximum(GB)) - np.minimum(R np.minimum(GB)))>15) & (np.abs(R-G)>15) & (R>G) & (R>B)
e2 = (R>220) & (G>210) & (B>170) & (abs(R-G)<=15) & (R>B) & (G>B)
return (e1|e2)
def _R2(selfYCrCb):
Y = YCrCb[::0]
Cr = YCrCb[::1]
Cb = YCrCb[::2]
e1 = Cr <= (1.5862*Cb+20)
e2 = Cr >= (0.3448*Cb+76.2069)
e3 = Cr >= (-4.5652*Cb+234.5652)
e4 = Cr <= (-1.15*Cb+301.75)
e5 = Cr <= (-2.2857*Cb+432.85)
return e1 & e2 & e3 & e4 & e5
def _R3(selfHSV):
H = HSV[::0]
S = HSV[::1]
V = HSV[::2]
return ((H<25) | (H>230))
def detect(self src):
if np.ndim(src) < 3:
return np.ones(src.shape dtype=np.uint8)
if src.dtype != np.uint8:
return np.ones(src.shape dtype=np.uint8)
srcYCrCb = cv2.cvtColor(src cv2.COLOR_BGR2YCR_CB)
srcHSV = cv2.cvtColor(src cv2.COLOR_BGR2HSV)
skinPixels = self._R1(src) & self._R2(srcYCrCb) & self._R3(srcHSV)
return np.asarray(skinPixels dtype=np.uint8)
class CascadedDetector(Detector):
“““
Uses the OpenCV cascades to perform the detection. Returns the Regions of Interest where
the detector assumes a face. You probably have to play around with the scaleFactor
minNeighbors and minSize parameters to get good results for your use case. From my
personal experience all I can say is: there‘s no parameter combination which *just
works*.
“““
def __init__(self cascade_fn=“./cascades/haarcascade_frontalface_alt2.xml“ scaleFactor=1.2 minNeighbors=5 minSize=(3030)):
if not os.path.exists(cascade_fn):
raise IOError(“No valid cascade found for path=%s.“ % cascade_fn)
self.cascade = cv2.CascadeClassifier(cascade_fn)
self.scaleFactor = scaleFactor
self.minNeighbors = minNeighbors
self.minSize = minSize
def detect(self src):
if np.ndim(src) == 3:
src = cv2.cvtColor(src cv2.COLOR_BGR2GRAY)
src = cv2.equalizeHist(src)
rects = self.cascade.detectMultiScale(src scaleFactor=self.scaleFactor minNeighbors=self.minNeighbors minSize=self.minSize)
if len(rects) == 0:
return np.ndarray((0))
rects[:2:] += rects[::2]
return rects
class SkinFaceDetector(Detector):
“““
Uses the SkinDetector to accept only faces over a given skin color tone threshold (ignored for
grayscale images). Be careful with skin color tone threshol
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2016-12-29 10:52 开源大作业\
目录 0 2016-12-05 08:02 开源大作业\face\
目录 0 2016-12-03 12:23 开源大作业\face\project\
文件 5067 2016-12-01 18:51 开源大作业\face\project\detector.py
文件 7443 2016-12-03 11:16 开源大作业\face\project\detector.pyc
文件 4633 2016-12-06 17:59 开源大作业\face\project\face.py
目录 0 2016-12-05 08:02 开源大作业\face\project\faces\
目录 0 2016-12-05 08:02 开源大作业\face\project\faces\qkl\
文件 11382 2016-12-03 12:24 开源大作业\face\project\faces\qkl\1.bmp
文件 11382 2016-12-03 12:24 开源大作业\face\project\faces\qkl\2.bmp
文件 11382 2016-12-03 12:24 开源大作业\face\project\faces\qkl\3.bmp
文件 11382 2016-12-03 12:24 开源大作业\face\project\faces\qkl\4.bmp
文件 11382 2016-12-03 12:24 开源大作业\face\project\faces\qkl\5.bmp
文件 11382 2016-12-03 12:24 开源大作业\face\project\faces\qkl\6.bmp
文件 11382 2016-12-03 12:24 开源大作业\face\project\faces\qkl\7.bmp
目录 0 2016-12-03 13:33 开源大作业\face\project\faces\zq\
文件 11382 2016-12-03 13:33 开源大作业\face\project\faces\zq\1.bmp
文件 11382 2016-12-03 13:33 开源大作业\face\project\faces\zq\10.bmp
文件 11382 2016-12-03 13:33 开源大作业\face\project\faces\zq\2.bmp
文件 11382 2016-12-03 13:33 开源大作业\face\project\faces\zq\3.bmp
文件 11382 2016-12-03 13:33 开源大作业\face\project\faces\zq\4.bmp
文件 11382 2016-12-03 13:33 开源大作业\face\project\faces\zq\5.bmp
文件 11382 2016-12-03 13:33 开源大作业\face\project\faces\zq\6.bmp
文件 11382 2016-12-03 13:33 开源大作业\face\project\faces\zq\7.bmp
文件 11382 2016-12-03 13:33 开源大作业\face\project\faces\zq\8.bmp
文件 11382 2016-12-03 13:33 开源大作业\face\project\faces\zq\9.bmp
目录 0 2016-12-04 16:47 开源大作业\face\project\faces\zxq\
文件 11382 2016-12-04 16:47 开源大作业\face\project\faces\zxq\1.bmp
文件 11382 2016-12-04 16:47 开源大作业\face\project\faces\zxq\10.bmp
文件 11382 2016-12-04 16:47 开源大作业\face\project\faces\zxq\2.bmp
文件 11382 2016-12-04 16:47 开源大作业\face\project\faces\zxq\3.bmp
............此处省略14个文件信息
- 上一篇:modbus 不知装置地址情况下 快速查找地址
- 下一篇:微信DEMO登陆/支付
相关资源
- 人脸识别所用到的js文件
- 基于百度AI的人像识别开发的登录模块
- 树莓派人脸识别门禁教程.docx
- 百度人脸识别api接口demo
- 贝叶斯分类器实现手写数字识别
- mmod_human_face_detector.dat.bz2
- 中文停止词库
- django web通讯
- Opencv人脸分类器训练以及人脸识别全
- 超全亚洲人脸数据集用于人脸识别
- 读取json文件切割图集
- kaggle入门-Titanic
- 豆瓣电影爬虫、豆瓣电影推荐系统
- 数据挖掘与机器学习.pdf
- 逻辑回归分类鸢尾花和红酒等级,源
- 线性回归数值型预测:预测鲍鱼的年
- 波士顿房价预测数据及代码
- 全国计算机等级考试二级公共基础知
- 鱼c资源全套视频+课件+作业答案
- 新冠病毒数据集包含地理位置、全国
- 神经网络二分类
- requests安装所需包和依赖_whl.rar
- zw_qq_30893653-10990571-树莓派人脸识别门
- python tsp 求解VRP问题的经典算法
- Pillow安装包
- 基于树莓派的人脸识别考勤系统的开
- 精通Django
- yale人脸识别数据集
- 人脸识别正样本图片库
- ORL人脸数据库,供人脸识别使用
评论
共有 条评论