OpenCV 案例一【人脸检测】

目录:

一、基础环境安装

1、下载安装 anaconda

https://www.anaconda.com/products/distribution

  • 双击下载的 .exe文件,安装即可。
  • 完成安装后,打开 Anaconda Prompt(或系统终端)测试
  • 切换到国内的镜像源
powershell 复制代码
# 清华源(推荐)
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --set show_channel_urls yes
  • 创建opencv所用的环境空间
powershell 复制代码
conda create -n opencv_env python=3.10
  • 切换到opencv_env 环境空间
  • 下载 opencv所需的包
powershell 复制代码
# 使用 conda 安装(优先)
conda install numpy pandas matplotlib

# 使用 pip 安装(conda 没有的包)
pip install opencv-python

2、Pycharm 引用conda环境

  • 打开Pycharm,创建个新项目,然后找到右下角的位置:
  • 点击箭头的齿轮,会有 "Add Python Interpreter",点进去
  • 选择 "Conda Environment",选择 "Existing Environment"

二、代码案例

python 复制代码
"""
人脸检测
"""
import cv2

# 加载预训练的Haar级联分类器(正面人脸检测模型)
face_cascade = cv2.CascadeClassifier("./haarcascades/haarcascade_frontalface_default.xml")

# 读取图片
img = cv2.imread("./datas/images/kobe_image.jpg")
# 转为灰度图,Haar特征基于灰度图像计算,转换可提升检测效率
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# 人脸检测核心函数
# scaleFactor=1.3:图像缩放比例(1.3表示每次缩小30%)
# minNeighbors=5:候选框保留阈值
# faces:检测到的人脸矩形列表,格式为(x, y, w, h)
faces = face_cascade.detectMultiScale(gray, 1.3, 5)

# 遍历所有检测到的人脸区域
# 在原图上绘制绿色矩形框(BGR颜色(0,255,0),线宽2像素)
for (x,y,w,h) in faces:
    # 画矩形
    cv2.rectangle(img, (x,y), (x+w,y+h), (0,255,0), 2)

# 显示结果
cv2.imshow("img", img)
# 等待按键
cv2.waitKey(0)
# 关闭所有窗口
cv2.destroyAllWindows()

三、运行效果

四、注意事项

述代码里面,主要用到了:haarcascade_frontalface_default.xml

haarcascade_frontalface_default.xml 是 OpenCV 提供的一个 预训练 Haar 级联分类器模型 ,专门用于检测图像或视频中的 正面人脸 。它是基于 Viola-Jones 算法 的传统目标检测方法,虽然不如深度学习模型(如 YOLO、SSD)精准,但计算量小、速度快,适合实时应用。

下载地址:

https://github.com/opencv/opencv/blob/master/data/haarcascades/

相关推荐
HiDev_5 分钟前
【非标自动化】2、认识元器件(液压泵和液压阀)
大数据·人工智能·自动化
这张生成的图像能检测吗10 分钟前
即插即用模块 + 改进思路汇总目录
图像处理·人工智能·深度学习·目标检测·机器学习
Geek-Chow10 分钟前
12 开源 vs 闭源:同一份权重,两种交付
人工智能·llm·大语言模型
一个处女座的程序猿22 分钟前
Agent之Tool:MoneyPrinterTurbo(一站式 AI 短视频生成工具)的简介、安装和使用方法、案例应用之详细攻略
人工智能·音视频·moneyprinter
港股研究社29 分钟前
物理AI临界点:智驾Tier 1越过规模效应拐点
人工智能
m4Rk_29 分钟前
【论文阅读】Agent 记忆机制(48):Fine-Mem——用细粒度奖励解决长期记忆管理中的奖励稀疏与信用分配
论文阅读·人工智能·学习·开源·github
IanSkunk34 分钟前
眼视光设备全周期台账:从验收入库到使用效果数据化的管理闭环
大数据·网络·人工智能
拓人间精准客38 分钟前
2025–2026 ToB 精准拓客实战手册:用“企业数据画像 + 动态筛选“击穿七大行业获客内卷
大数据·数据库·人工智能
北京GEO服务商余小铁42 分钟前
北京建材行业怎么通过 GEO 推广实现获客
人工智能
txg66643 分钟前
Less Is More:如何用半监督学习提升漏洞检测能力
人工智能·深度学习·学习·安全·开源软件