import numpy as np
import matplotlib.pyplot as plt
import cv2
import os
import imghdr # 用于检验图片文件类型(获取扩展名)
# 创建函数
# 检测人脸后,把人脸保存到指定的文件夹中
def facedetector(img_name,output):
#获取文件名
name = os.path.basename(img_name)
img = cv2.imread(img_name)
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
# 人脸特征文件加载
face_detector = cv2.CascadeClassifier("haarcascade_frontalface_alt.xml")
# detectMultiScale(image[, scaleFactor[, minNeighbors[, flags[, minSize[, maxSize]]]]])
# 参数image: 表示输入的图像
# 参数scaleFactor=1.1: 表示每次缩小图像的比例,默认是1.1
# 参数minNeighbors=3:表示匹配成功所需要的周围矩形框的数目,每个特征匹配到的区域都是一个矩形框
# 只有多个矩形框同时存在的时候,才认为成功,比如人脸,这个默认值是3
# 参数minSize:表示匹配人脸的最小范围,设置minSize可以过滤掉错误
# 参数flags=0: 可以去如下这些值:
# CASCADE_DO_CANNY_PRUNING --- 1 利用Canny边缘检测来排除一些边缘很少或者很多的图像区域
# CASCADE_SCALE_IMAGE --- 2 正常比例检测
# CASCADE_FIND_BIGGEST_OBJECT ---- 4 只检测最大的物体
# CASCADE_DO_ROUGH_SEARCH -----8 初略的检测
# 得到不同人脸信息,每个人脸信息包括:x,y,w,h
faces = face_detector.detectMultiScale(

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/69828.html