Python Opencv实践 - 人脸识别CascadeClassifier

参考资料:

【Python+OpenCV 人脸检测---CascadeClassifier 级联分类器实现】_LPY。的博客-CSDN博客

'cv::CascadeClassifier::detectMultiScale'_只要思想不滑坡办法总比困难多--小鱼干的博客-CSDN博客

复制代码
import cv2 as cv
import matplotlib.pyplot as plt
import numpy as np

#cv.__file__里的cv2目录下有一个data目录,下面存放了训练好的人脸识别分类器
cv.__file__

#加载人脸图片
img = cv.imread("../SampleImages/people.jpg")
#转换为灰度图
img_gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
plt.imshow(img_gray, plt.cm.gray)

#实例化OpenCV人脸和眼睛识别的级联分类器
#cv.CascadeClassifier(fielpath)
#参考资料:https://blog.csdn.net/LPYchengxuyuan/article/details/122028669
#         https://blog.csdn.net/weixin_45177786/article/details/123288592
face_cas = cv.CascadeClassifier("haarcascade_frontalface_default.xml")
face_cas.load("D:/Pyton-Opencv/OpencvEnv/Lib/site-packages/cv2/data/haarcascade_frontalface_default.xml")

eye_cas = cv.CascadeClassifier("haarcascade_eye.xml")
eye_cas.load("D:/Pyton-Opencv/OpencvEnv/Lib/site-packages/cv2/data/haarcascade_eye.xml")

#识别人脸
#faceRects = face_cas.detectMultiScale(image, scaleFactor, minNeighbors, minSize, maxSize)
#image: 要进行检测的图片
#scaleFactor: 前后两次扫描中,搜索窗口的比例系数
#minNeighbors: 至少被检测到多少次才会被认为是目标
#minSize/maxSize:目标的最小尺寸和最大尺寸
faceRects = face_cas.detectMultiScale(img_gray, scaleFactor=1.2, minNeighbors=3, minSize=(32,32))
for faceRect in faceRects:
    x,y,w,h = faceRect
    #画出人脸
    cv.rectangle(img, (x,y), (x+h,y+w), (0,255,0), 2)
    #检测眼睛
    roi_bgr = img[y:y+h,x:x+w]
    roi_gray = img_gray[y:y+h,x:x+w]
    eyes = eye_cas.detectMultiScale(roi_gray)
    for (eye_x, eye_y, eye_w, eye_h) in eyes:
        cv.rectangle(roi_bgr, (eye_x,eye_y), (eye_x + eye_w, eye_y + eye_h), (0,255,0), 1)

plt.imshow(img[:,:,::-1])
相关推荐
九章云极AladdinEdu31 分钟前
临床数据挖掘与分析:利用GPU加速Pandas和Scikit-learn处理大规模数据集
人工智能·pytorch·数据挖掘·pandas·scikit-learn·paddlepaddle·gpu算力
上海锝秉工控32 分钟前
超声波风向传感器:以科技之翼,捕捉风的每一次呼吸
大数据·人工智能·科技
说私域32 分钟前
基于开源AI智能名片、链动2+1模式与S2B2C商城小程序的流量运营与个人IP构建研究
人工智能·小程序·流量运营
海天一色y1 小时前
Pycharm(二十一)递归删除文件夹
ide·python·pycharm
xiaoxiaoxiaolll2 小时前
期刊速递 | 《Light Sci. Appl.》超宽带光热电机理研究,推动碳纳米管传感器在制药质控中的实际应用
人工智能·学习
练习两年半的工程师3 小时前
AWS TechFest 2025: 风险模型的转变、流程设计的转型、生成式 AI 从实验走向实施的三大关键要素、评估生成式 AI 用例的适配度
人工智能·科技·金融·aws
Elastic 中国社区官方博客5 小时前
Elasticsearch:智能搜索的 MCP
大数据·人工智能·elasticsearch·搜索引擎·全文检索
stbomei5 小时前
从“能说话”到“会做事”:AI Agent如何重构日常工作流?
人工智能
yzx9910136 小时前
生活在数字世界:一份人人都能看懂的网络安全生存指南
运维·开发语言·网络·人工智能·自动化
许泽宇的技术分享6 小时前
LangGraph深度解析:构建下一代智能Agent的架构革命——从Pregel到现代AI工作流的技术飞跃
人工智能·架构