OpenCV实现人脸检测(Haar特征)

学习目标

原理

实现

复制代码
import cv2 as cv
print(cv.__file__)

路径:E:\Anaconda3\envs\test_py3.6\Lib\site-packages\cv2\data

代码实现

复制代码
import cv2 as cv
import matplotlib.pyplot as plt
from pylab import mpl

mpl.rcParams['font.sans-serif'] = ['SimHei']
#1,以灰度图的形式读取图片
img = cv.imread("ll.jpg")
gray = cv.cvtColor(img , cv.COLOR_BGR2GRAY)

#2,实例化OpenCV人脸 和 眼睛识别的分类器
face_cas = cv.CascadeClassifier("haarcascade_frontalface_default.xml")
face_cas.load("haarcascade_frontalface_default.xml")  #加载已训练好的人脸识别模型


eyes_cas = cv.CascadeClassifier("haarcascade_eye.xml")
eyes_cas.load("haarcascade_eye.xml") #加载已训练好的眼睛识别模型

#3,调用识别人脸
'''gray: 输入灰度图像;
scaleFactor: 图像缩放比例,即在前一张图像的基础上,将图像缩小的比例,默认为 1.1;
minNeighbors: 每个矩形应该保留的邻居数,这个参数可以理解为减少误检的一个参数。默认为 3,可以根据实际情况调整;
minSize: 目标矩形的最小大小,小于这个尺寸的矩形会被忽略,默认为 (30, 30),这里设置为 (32, 32)。'''
faceRects = face_cas.detectMultiScale( gray,scaleFactor=1.2,minNeighbors=10,minSize=(32,32))
for faceRect in faceRects: #遍历所有检测到的人脸矩形框
    x,y,w,h = faceRect  #获取当前人脸矩形框的坐标和大小
    #框出人脸
    cv.rectangle(img,(x,y),(x+h,y+w),(0,255,0),3)
    #4,在识别出的人脸中进行眼睛检测
    roi_color = img[y:y+h,x:x+w]  #提取当前人脸区域的彩色图像
    roi_gray = gray[y:y+h,x:x+w]  #提取当前人脸区域的灰度图像
    eyes = eyes_cas.detectMultiScale(roi_gray)  #在当前人脸区域检测眼睛,并返回检测到的眼睛矩形框数组
    for (ex,ey,ew,eh) in eyes:  #遍历所有检测到的眼睛矩形框
        cv.rectangle(roi_color,(ex,ey),(ex+ew,ey+eh),(0,255,0),2)

#检测结果绘制
plt.figure(figsize=(8,6),dpi=100)
plt.imshow(img[:,:,::-1]),plt.title("检测结果")
plt.show()

结果展示

相关推荐
嘀咕博客6 分钟前
Stable Virtual Camera:Stability AI等推出的AI模型 ,2D图像轻松转3D视频
人工智能·3d·音视频·ai工具
北京地铁1号线11 分钟前
机器学习面试题:逻辑回归Logistic Regression(LR)
人工智能·机器学习
云雾J视界14 分钟前
AI赋能与敏捷融合:未来电源项目管理者的角色重塑与技能升级——从华为实战看高技术研发项目的管理变革
人工智能·华为·项目管理·电源研发·敏捷项目·电源项目
canonical_entropy26 分钟前
不同的工作需要不同人格的AI大模型?
人工智能·后端·ai编程
老黄编程29 分钟前
--gpu-architecture <arch> (-arch)
linux·人工智能·机器学习
IT_陈寒36 分钟前
Vite 5.0 终极优化指南:7个配置技巧让你的构建速度提升200%
前端·人工智能·后端
点云SLAM1 小时前
结构光三维重建原理详解(1)
人工智能·数码相机·计算机视觉·三维重建·结构光重建·gray 编码·标定校正
代码AI弗森3 小时前
从 IDE 到 CLI:AI 编程代理工具全景与落地指南(附对比矩阵与脚本化示例)
ide·人工智能·矩阵
007tg6 小时前
从ChatGPT家长控制功能看AI合规与技术应对策略
人工智能·chatgpt·企业数据安全
Memene摸鱼日报6 小时前
「Memene 摸鱼日报 2025.9.11」腾讯推出命令行编程工具 CodeBuddy Code, ChatGPT 开发者模式迎来 MCP 全面支持
人工智能·chatgpt·agi