opencv人脸检测

import cv2
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline

img=cv2.imread("D:\java_ceshi\python_sucai\wlwz.jpg",1)
# 用彩色方式读取图片

face_eneine = cv2.CascadeClassifier(cv2.data.haarcascades+'haarcascade_frontalface_default.xml')
# 加载默认的人脸分类器,这个分类器是opencv自带的,可以直接使用
print(cv2.data.haarcascades)
# 输出一下模型的路径

faces = face_eneine.detectMultiScale(img,scaleFactor=1.3,minNeighbors=5,maxSize=(350,350),minSize=(200,200))
# scaleFactor 为了检测到不同大小的目标,通过scalefactor参数把图像长宽同时按照一定比例(默认1.1)逐步缩小,
# 然后检测,这个参数设置的越大,计算速度越快,但可能会错过了某个大小的人脸。
# minNeighbors 构成检测目标的相邻矩形的最小个数,默认值是3,这个值设置的越大,检测结果越精准,但是漏检的概率也会增大
# maxSize=()会规定检测的长方形的最大值,比如设置为(50,50)那么其他大于这个大小的人脸就不会被检测出来了,这个参数可以根据检测的结果慢慢调试
#minSize=()这个参数可以规定长方形的最小值,类似manSize()
#检测后会返回一组或者多组值,分别代表矩形的左上角坐标,和矩形的宽和长

for (x,y,w,h) in faces:
    img = cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
    #循环取出每一组值,把这些值画在图片上,img是图片,(x,y)是矩形的左上角坐标,(x+w,y+h)是右下角坐标,(255,0,0)
    #因为是BGR颜色,所以框的颜色是蓝色,2代表框线的粗细
cv2.imshow('img',img)
#显示图片
cv2.waitKey(0)
#任意键退出图片
cv2.destroyAllWindows()
#释放内存
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值