opencv之人脸检测之cv2.CascadeClassifier

OpenCV-python小玩意22 人脸检测cv2.CascadeClassifier加持下增强人脸识别能力 范式代表方法速度精度是否需 NMS是否端到端手工特征快低是否两阶段 CNN慢高是否(RPN+Head分离)单阶段 CNN快中~高是是DETR 及其变种中高否是通过实践可以发现,有了人脸检测的加持,识别的准确率提升了很多。至此,传统算法的人脸识别任务完成。下一期,让我们来搞搞深度学习的人脸识别!有什么问题,我们评论区见。OpenCV官方文档之Cascade Classifier#目标检测 #人脸检测 #HAAR。 阅读详情
import cv2

import os.path

def detect(filename, cascade_file = "haarcascade_frontalface_alt.xml"):
    if not os.path.isfile(cascade_file):
        raise RuntimeError("%s: not found" % cascade_file)

    cascade = cv2.CascadeClassifier(cascade_file)
    image = cv2.imread(filename)
    gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    gray = cv2.equalizeHist(gray)

    faces = cascade.detectMultiScale(gray,
                                     # detector options
                                     scaleFactor = 1.1,
                                     minNeighbors = 5,
                                     minSize = (24, 24))
    i=0
    for (x, y, w, h) in faces:
        i+=1
        cv2.rectangle(image, (x, y), (x + w, y + h), (0, 0, 255), 2)
        temp=image[y:y+h,x:x+w,:]
        cv2.imwrite('%s_%d.jpg'%(os.path.basename(filename).split('.')[0],i),temp)
    cv2.imshow("AnimeFaceDetect", image)
    cv2.waitKey(0)
    cv2.imwrite("out.png", image)



detect('face.png')

opencv安装好之后,在对应的文件夹里搜索haarcascade_frontalface_alt.xml文件,放到这个程序的同级目录下,直接运行即可。

运行效果:
这里写图片描述

浅析cv2.CascadeClassifier()函数 Haar特征是一种反映图像的灰度变化的,像素分模块求差值的一种特征。它分为三类:边缘特征、线性特征、中心特征和对角线特征。用黑白两种矩形框组合成特征模板,在特征模板内用 黑色矩形像素和 减去 白色矩形像素和来表示这个模版的特征值。例如:脸部的一些特征能由矩形模块差值特征简单的描述,如:眼睛要比脸颊颜色要深,鼻梁两侧比鼻梁颜色要深,嘴巴比周围颜色要深等。但矩形特征只对一些简单的图形结构,如边缘、线段较敏感,所以只能描述在特定方向(水平、垂直、对角)上有明显像素模块梯度变化的图像结构。 阅读详情

相关推荐

opencv 进阶10-人脸识别原理说明及示例-cv2.CascadeClassifier.detectMultiScale()

在 OpenCV 中,人脸检测使用的是 cv2.CascadeClassifier.detectMultiScale()函数,它可以检测出图片中所有的人脸。该函数由分类器对象调用,其语法格式为:image:待检测图像,通常为灰度图像。scaleFactor:表示在前后两次相继的扫描中,搜索窗口的缩放比例。minNeighbors:表示构成检测目标的相邻矩形的最小个数。默认情况下,该值为 3,意味着有 3 个以上的检测标记存在时,才认为人脸存在。

小海聊智造 7912

opencv-python 小白笔记(9)

第九节:人脸检测(一)模板匹配(cv2.matchTemplate)(二)多模板匹配(cv2.matchTemplate)(三)cv2.CascadeClassifier识别人脸(cv2.CascadeClassifier)(九)结语 今天要写的是大家都喜欢的人脸检测,我记得我当时自学opencv就是被这人脸检测所吸引的,然后又学习了不同的人脸检测算法,最后走向了深度学习,然后学习了更多的目标检测算法。等把opencv写完我会写一些深度学习相关的算法。不过今天写完,可能要过一段时间才写了,因为要准备国创了,

????爱好者的博客 2950

OpenCV人脸检测实战:从零搭建Python视觉项目,掌握Haar级联分类器核心应用

计算机视觉是人工智能的重要分支,其核心在于让机器理解和处理图像信息。人脸检测作为计算机视觉的基础任务,通过分析图像中的特征模式来定位人脸区域。其原理通常基于特征分类器,如Haar级联分类器,它通过训练好的模型在图像的多尺度空间中进行滑动窗口检测,计算Haar-like特征与阈值比较,实现高效的人脸定位。这项技术的价值在于为更高级的视觉应用(如人脸识别、表情分析)提供了关键的预处理步骤,是构建智能安防、人机交互、影像处理等系统的基石。在工程实践中,结合OpenCV这一强大的开源库,开发者可以快速调用成熟的检测

weixin_29054245的博客 213

【Python+OpenCV 人脸检测—CascadeClassifier 级联分类器实现】

Python+OpenCV 人脸检测—CascadeClassifier 级联分类器实现一、CascadeClassifier—级联分类器1、导入分类器文件2、读入图片3、转为灰度图4、调用detectMultiScale()函数进行检测5、绘制矩形框标记人脸6、输出图像二、运行效果 一、CascadeClassifier—级联分类器 级联分类器:CascadeClassifier就是opencv下objdetect模块中用来做目标检测的级联分类器的一个类,它可以帮助我们检测例如车牌、眼睛、人脸等物体。它的

LPY coder的博客 1万+

cv2级联分类器CascadeClassifier

目录 一、相关介绍 二、示例代码和结果 2.1 示例代码 2.2 运行结果 三、配置文件 本篇博客主要介绍cv2中的级联分类器CascadeClassifier。 一、相关介绍 CascadeClassifier,是Opencv中做人脸检测的时候的一个级联分类器,既可以使用Haar,也可以使用LBP特征。 以Haar特征分类器为基础的对象检测技术是一种非常有效的对象检测技术。它是...

cchangcs 1万+

伯德图逆向工程:用MATLAB从扫频数据中提取系统特性的5个关键步骤

本文详细介绍了使用MATLAB从扫频数据中提取系统特性的5个关键步骤,包括数据预处理、频响特性提取、相位解缠绕、系统特性反演和结果验证。通过伯德图逆向工程技术,工程师可以有效分析黑箱系统的频率响应特性,解决噪声干扰和相位跳变等实际问题,提升控制系统调试效率。

weixin_29081163的博客 198

python学opencv|读取图像(七十一)使用cv2.CascadeClassifier()函数+detectMultiScale()函数实现图像中的人脸检测

掌握了python+opencv使用cv2.CascadeClassifier()函数+detectMultiScale()函数实现图像中的人脸检测的技巧。

专注python+工程实践的热心婶子 1102

触摸开关原理图_反激式开关电源PCB设计要点

由于最近工作中经常用到反激开关电源,就顺便做个有关反激电源PCB Layout方面的简单总结。关于变压器和补偿环路的设计原理和方法,可以参考之前的文章,链接如下:电子小白菜:反激电源变压器设计篇之详细设计步骤​zhuanlan.zhihu.com电子小白菜:反激电源变压器设计篇之基础原理​zhuanlan.zhihu.com电子小白菜:【干货分享】开关电源环路补偿设计步骤讲解​zhuanlan.z...

weixin_39574868的博客 1160

【OpenCV图像处理】级联分类器:cv2.CascadeClassifier() —— 目标检测(猫脸/人脸/眼睛/微笑/全身/车牌)

Haar 级联分类器(Haar Cascade Classifier):是 OpenCV 中一种基于 Haar 特征 和 AdaBoost 分类算法的物体检测方法,广泛应用于人脸、眼睛、行人等物体的检测。

📷 图像处理践行者 | 传统算法 · 深度学习 · 多模态 | 分享实战经验与技术洞见,探索从像素到智能的无限可能。 1024

COCO2017数据集类别分布深度解析

本文深入解析了COCO2017数据集的类别分布情况,包括80个常见物体的分类统计和样本数量分析。通过对比训练集与验证集的分布一致性,探讨了数据均衡性问题,并针对高频和低频类别提出了实用的数据预处理和模型训练建议,帮助优化计算机视觉任务的性能。

weixin_42533751的博客 370

QT5.14.2离线安装包保姆级教程:断网、选组件、避坑全记录

本文详细介绍了QT5.14.2离线安装包的完整流程,特别针对Windows平台开发者提供断网安装、组件选择及避坑指南。作为QT5系列中最后一个免费离线版本,5.14.2具有免注册、全组件离线安装等独特优势,是开源开发者的理想选择。文章涵盖从环境准备到安装后配置的全方位指导,帮助开发者高效完成安装并避免常见问题。

weixin_30924087的博客 578

《OpenCV计算机视觉》—— 人脸检测

《OpenCV计算机视觉》—— 人脸检测

weixin_73504499的博客 3030

PHP+MYSQL宠物主题动态网页设计源码+数据库,大学生期末大作业,PHP课程设计

PHP+MYSQL宠物主题动态网页设计源码+数据库,大学生期末大作业,PHP课程设计提示:本文采用PHP对数据库进行操作:本文就介绍了PHP实现对MySQL数据库的增删改查操作基础内容。

901

使用OpenCV进行实时人脸检测与识别的完整教程

人脸检测是找到图像中的人脸位置,而人脸识别则是判断这张脸属于谁。OpenCV提供了多种人脸识别算法,其中LBPH(Local Binary Patterns Histograms)因其对光线变化不敏感且计算简单而被广泛使用。LBPH的基本原理是提取人脸的局部二进制模式特征,并生成直方图来表示人脸纹理信息。在进行识别时,通过比较输入人脸特征与已训练模型中存储的特征直方图的距离来进行判断。

guanghaozhuang的博客 712

伺服驱动器启用后对传感器线信号干扰的解决方案

在一些Arduino项目中,研究者发现,当伺服电机启动时,传感器信号会出现显著噪声。例如,在一个假肢项目中,研究者使用光电隔离器成功隔离了伺服驱动器对EMG传感器的干扰。然而,当启用伺服驱动器时,传感器线信号常常受到干扰,导致系统性能下降。传感器线信号是传感器输出的电信号,用于测量物理量,如温度、光线或位置。例如,在一些案例中,伺服驱动器的开关操作可能导致传感器信号出现尖峰或波动,特别是在模拟传感器上更为明显。描述: 使用光电隔离或其他隔离技术,分离伺服驱动器和传感器的电气路径,防止直接干扰。

有用好玩有趣的“电”知识 1466

产品缺陷检测:表面缺陷检测_(1).产品缺陷检测基础理论

确定像素之间的相似性准则,如灰度值的差异。

zhubeibei168的博客 832

python opencv人脸检测提取及保存_Python基于OpenCV实现人脸检测并保存

本文实例为大家分享了Python基于OpenCV实现人脸检测,并保存的具体代码,供大家参考,具体内容如下安装opencv如果安装了pip的话,Opencv的在windows的安装可以直接通过cmd命令pip install opencv-python(只需要主要模块),也可以输入命令pip install opencv-contrib-python(如果需要main模块和contrib模块)详情可...

weixin_39869693的博客 1456

hadoop 切片机制详解

hadoop切片机制详解

congge 1万+

python opencv 人脸识别(第三部分:方框的绘制,实现人脸检测)

python opencv 人脸识别(第三部分:方框的绘制,实现人脸检测)

chatblanc的博客 2341

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

【深度学习】OpenCV 实时微笑检测:摄像头人脸检测 + 微笑识别

完整代码一览。

m0_66822255的博客 553

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

cv2 imread函数 python_python实现人脸实时检测

一,OpenCV: OpenCV是跨平台计算机视觉库,提供了Python、Ruby、MATLAB等语言的接口,它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,应用的领域:1、人机互动2、物体识别3、图像分割4、人脸识别5、动作识别6、运动跟踪7、机器人8、运动分析9、机器视觉10、结构分析11、汽车安全驾驶二,人脸检测需要用到的知识点:1.读取图片:img=cv2.imread('c...

weixin_42467374的博客 1047

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

机器视觉学习(十三)—— 人脸识别

Haar分类器、人脸识别相关函数讲解、人脸识别示例代码

歆歆~黯了 2053

python中opencv怎么检测双眼_使用OpenCV在Python中进行人脸和眼睛检测

使用的模块:python-opencv(cv2)python-opencv(cv2)Opencv(Open source computer vision) 是一个python库,可帮助我们解决计算机视觉问题。下载python-opencv(cv2)通用方式:pip install python-opencvPycharm用户:Pycharm用户可以从项目解释器下载此模块。在这里,我们将检测个人的脸...

weixin_42475535的博客 1138

python+opencv实现摄像头实时人脸识别和图片识别

python+opencv实现摄像头实时人脸识别和图片识别,分享解决相应xml文件路径找不到的问题。

驱逐舰 2856

使用 OpenCV 来检测图像数据集中的人脸和眼睛

检测图像数据集中的人脸和眼睛

m0_75114882的博客 675

基于Opencv中的haarcascade_frontalface_alt.xml的人脸检测

使用Opencv中haarcascade_frontalface_alt.xml进行简单的人脸检测。

qq_63179559的博客 4995
上一篇: tf.image.crop_to_bounding_box的用法
下一篇: GAN经验总结
GAN_player
博客等级 码龄10年 52粉丝 98原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值