当前位置: 首页 > article >正文

快速入手-基于python和opencv的人脸检测

1、安装库

pip install opencv-python

如果下载比较卡的话,指向国内下载地址:

pip3 install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple

2、下载源码

https://opencv.org/

windows11对应的版本下载: https://pan.baidu.com/s/1yLt6KYCuycbPYMD1DavYqA?pwd=v4w4 提取码: v4w4 

3、安装到制定目录

D:/PythonProject/opencv-4.11.0-install/

4、人脸检测代码

# 导入cv模块
import cv2 as cv# 检测函数
def detect_face():gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)face_cascade = cv.CascadeClassifier("D:/PythonProject/opencv-4.11.0-install/opencv/sources/data/haarcascades/haarcascade_frontalface_default.xml")# faces = face_cascade.detectMultiScale(gray)faces = face_cascade.detectMultiScale(gray, 1.05, 5, 0, (50, 50), (300, 300))for x, y, w, h in faces:cv.rectangle(img, (x, y), (x + w, y + h), color=(255, 0, 0), thickness=2)cv.imshow("result_img", img)# 读取图片
img = cv.imread("mans.jpg")
detect_face()
# 等待
while True:if ord("q") == cv.waitKey(0):break
cv.waitKey(0)
# 释放内存
cv.destroyAllWindows()

说明:detectMultiScale   是 OpenCV 中用于检测图像中目标(如人脸)的函数,通常与 Haar 特征分类器(如   CascadeClassifier  )一起使用。本次使用 Haar 分类器检测灰度图像gray中的人脸。以下是   detectMultiScale   函数的详细说明:

detectMultiScale(image, scaleFactor, minNeighbors, flags, minSize, maxSize)

参数说明

1.   image  : 输入图像,通常是灰度图像(  cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)  )。其中image是灰度图像。

2.   scaleFactor  :每次图像缩放的比例因子。它用于控制图像金字塔的缩放比例。1.05   表示每次图像缩放的比例为 1.05。较小的值(如 1.05)会检测到更多的小目标,但计算量会增加;较大的值(如 1.2)会检测到较大的目标,但可能会漏掉较小的目标。

3.   minNeighbors  : 每个目标的邻近目标数量。这个参数用于控制检测的严格程度。较高的值会减少误检测,但可能会漏掉真实的目标。5 表示每个目标至少需要有 5 个邻近目标。

4.   flags  :用于指定检测过程中的一些选项。通常可以设置为   0   或   cv2.CASCADE_SCALE_IMAGE  。0   表示使用默认设置。

5.   minSize  :检测目标的最小尺寸(宽和高)。小于这个尺寸的目标将被忽略。(50, 50)   表示最小尺寸为 50×50 像素。

6.   maxSize  :检测目标的最大尺寸(宽和高)。大于这个尺寸的目标将被忽略。 (300, 300)   表示最大尺寸为 300×300 像素。

返回值 faces  :• 返回一个矩形列表,每个矩形表示检测到的目标(如人脸)的位置。每个矩形是一个包含四个值的元组   (x, y, w, h)  ,分别表示矩形的左上角坐标   (x, y)   和矩形的宽度   w   和高度   h  。

5、识别效果

相关文章:

快速入手-基于python和opencv的人脸检测

1、安装库 pip install opencv-python 如果下载比较卡的话,指向国内下载地址: pip3 install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple 2、下载源码 https://opencv.org/ windows11对应的版本下载: https://pan.baidu…...

Windows 环境下安装 MariaDB 及 HeidiSQL 使用教程

引言 本报告旨在提供一份详尽的操作指南。内容将覆盖在 Windows 操作系统上安装 MariaDB Community Server 的全过程。我们还将探讨如何利用 HeidiSQL 这款图形用户界面(GUI)工具,直观地预览和管理我们新安装的数据库。除了安装与配置的步骤…...

汽车免拆诊断案例 | 2011款雪铁龙世嘉车刮水器偶尔自动工作

故障现象 一辆2011款雪铁龙世嘉车,搭载1.6 L 发动机,累计行驶里程约为19.8万km。车主反映,该车刮水器偶尔会自动工作,且前照灯偶尔会自动点亮。 故障诊断 接车后试车发现,除了上述故障现象以外,当用遥控器…...

8.QT-按钮类控件|Push Button|Radio Button|Check Box|Tool Button(C++)

Push Button 使⽤ QPushButton 表⽰⼀个按钮.这也是当前我们最熟悉的⼀个控件了. QPushButton 继承⾃ QAbstractButton .这个类是⼀个抽象类.是其他按钮的⽗类 在Qt Designer中也能够看到这⾥的继承关系 属性说明text按钮中的⽂本icon按钮中的图标iconSize按钮中图标的尺⼨sh…...

STM32嵌入式

一、创建工程项目 1、进入软件首页 2、新建项目,【file】->【new project】 3、选择需要的芯片 4、系统内核部分设置 ① 选择晶振(使用外部的高速晶振) ② 选择debug形式(SW类型) 5、时钟设置 6、选择自己需要的引脚设置&a…...

论文阅读:2022 ACL TruthfulQA: Measuring How Models Mimic Human Falsehoods

总目录 大模型安全相关研究:https://blog.csdn.net/WhiffeYF/article/details/142132328 TruthfulQA: Measuring How Models Mimic Human Falsehoods TruthfulQA:衡量模型如何模仿人类的谎言 https://arxiv.org/pdf/2109.07958 https://www.doubao.com/chat/3130551217163…...

Transformer系列(一):NLP中放弃使用循环神经网络架构

NLP中放弃使用循环神经网络架构 一、符号表示与概念基础二、循环神经网络1. 依赖序列索引存在的并行计算问题2. 线性交互距离 三、总结 该系列笔记阐述了自然语言处理(NLP)中不再采用循环架构(recurrent architectures)的原因&…...

【人工智能】大模型的Prompt工程:释放DeepSeek潜能的艺术与科学

《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 Prompt工程是大模型应用中的关键技术,通过精心设计的提示词(Prompt),用户能够有效引导模型生成高质量输出。本文深入探讨了优化DeepSee…...

9.QT-显示类控件|Label|显示不同格式的文本|显示图片|文本对齐|自动换行|缩进|边距|设置伙伴(C++)

Label QLabel 可以⽤来显⽰⽂本和图⽚ 属性说明textQLabel中的⽂本textFormat⽂本的格式.• Qt::PlainText 纯⽂本• Qt::RichText 富⽂本(⽀持html标签)• Qt::MarkdownText markdown格式• Qt::AutoText 根据⽂本内容⾃动决定⽂本格式pixmapQLabel 内部包含的图⽚.scaledCo…...

【c语言】深入理解指针1

深入理解指针1 一、数组名的理解二、使用指针访问数组三、一维数组传参本质四、二级指针 一、数组名的理解 数组名就是数组首元素的地址,类型是指针类型,但是存在两个例外: sizeof(arr) : 整个数组在内存中的大小 &arr : 整个数组的地址…...

4.QT-信号和槽|存在意义|信号和槽的连接方式|信号和槽断开|lambda表达式|信号和槽优缺点(C++)

信号和槽存在意义 所谓的信号槽,终究要解决的问题,就是响应用户的操作 信号槽,其实在GUI开发的各种框架中,是一个比较有特色的存在 其他的GUI开发框架,搞的方式都要更简洁一些~~ 网页开发 (js dom api) 网…...

单元测试的一般步骤

Qt Test Qt Test 是 Qt 开发人员发布的一个单元测试框架,用于测试基于 Qt 框架的应用程序或库。它提供了单元测试框架中常见的所有功能以及用于测试图形用户界面的扩展。 1.自动化测试包络ui测试>接口测试>单元测试;现问如何使用Qt进行单元测试&…...

UE5 渲染视频

文章目录 概述插件开始渲染渲染透明背景的视频 概述 渲染视频需要使用关卡序列 渲染原理就是将一个关卡序列渲染为序列帧 序列帧放到AE里会自动变成视频 UE版本是5.4.4 插件 首先开启新的渲染插件,否则会自动使用旧的渲染插件 插件里搜Render,开启这…...

pycharm无法识别到本地python的conda环境解决方法

问题一 现象描述: 本地已经安装了conda,但在pycharm中选择conda环境却识别不到, 解决方法:手动输入conda path,点击R eload environments基本就能修复,比如我的路径如下 /Users/test/conda/miniconda3/b…...

LFM调制信号分类与检测识别

LFM调制信号分类与检测识别 LFM调制信号分类识别AlexNet网络识别InceptionV3、ResNet-18、ResNet-50网络识别 LFM调制信号检测识别 LFM调制信号分类识别 支持识别LFM信号、间歇采样干扰(ISRJ)、灵巧噪声干扰(SNJ)、扫频干扰(SJ)、瞄准干扰(AJ)、阻塞干扰(BJ)、密集假目标干扰(…...

头歌实训之连接查询

🌟 各位看官好,我是maomi_9526! 🌍 种一棵树最好是十年前,其次是现在! 🚀 今天来学习C语言的相关知识。 👍 如果觉得这篇文章有帮助,欢迎您一键三连,分享给更…...

基于 pnpm + Monorepo + Turbo + 无界微前端 + Vite 的企业级前端工程实践

基于 pnpm Monorepo Turbo 无界微前端 Vite 的企业级前端工程实践 一、技术演进:为什么引入 Vite? 在微前端与 Monorepo 架构落地后,构建性能成为新的优化重点: Webpack 构建瓶颈:复杂配置导致开发启动慢&#…...

常见的服务器硬盘接口

常见的服务器硬盘接口有SATA、SAS、M.2、U.2 一、SATA接口 SATA(Serial Advanced Technology Attachment)是广泛应用于存储设备的串行接口标准,在服务器中主要用于连接大容量机械硬盘(HDD)或经济型固态硬盘&#xff…...

一文读懂Python之numpy模块(34)

一、模块简介 numpy是Python语言中做科学计算的基础库,重在于数值计算,有一个强大的N维数组对象Array,同时NumPy 提供了大量的库函数和操作,可以帮助程序员轻松地进行Array数值计算。 numpy在数据分析和机器学习领域被广泛使用。…...

SpringBoot编写单元测试

pom.xml引入单元测试的坐标 <!--单元测试坐标--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency>编写单元测试类 测试类…...

C++ static 关键字的用途与特点

static 关键字在 C 中是一个多功能的关键字&#xff0c;用于控制变量的存储期、作用域和链接属性。 局部静态变量 在函数内定义的局部变量前加上 static&#xff0c;该变量就成为局部静态变量。 局部静态变量具有以下特点&#xff1a; 存储期 &#xff1a;静态存储期&#…...

Python爬虫实战:基于 Scrapy 框架的微博数据爬取研究

一、引言 1.1 研究背景 在当今数字化时代,社交媒体已成为信息传播和公众交流的重要平台。微博作为国内极具影响力的社交媒体之一,每日产生海量的用户生成内容,涵盖新闻资讯、社交互动、娱乐八卦、热点话题讨论等多个领域。这些数据不仅反映了公众的兴趣偏好、情感态度和社…...

目标分割模型优化自身参数都是梯度下降算法吗?

在计算机视觉的深度学习任务中&#xff0c;诸如 CNN、FCN、U-Net、DeepLab 系列模型已成为图像分类与图像分割任务的核心架构。它们在网络结构和任务上有所差异&#xff0c;但是否共享同一种优化机制&#xff1f;是否都使用梯度下降&#xff1f;优化过程中又有什么本质区别&…...

基于springboot的商城

1 项目使用技术 后端框架&#xff1a;SpringBoot 数据库&#xff1a;MySQL 开发工具&#xff1a;IDEA 2 项目功能模块 商城功能包含前台和后台。 &#xff08;1&#xff09;前台主要包含&#xff1a;用户注册登录模块、首页模块、搜索模块、商品详情、购物车、提交订单、…...

MATLAB 控制系统设计与仿真 - 37

范数鲁棒控制器的设计 鲁棒控制器的设计 根据双端子状态方程对象模型结构&#xff0c;控制器设计的目标是找到一个控制器K(s),它能保证闭环系统的范数限制在一个给定的小整数下&#xff0c;即 这时控制器的状态方程为&#xff1a; 其中X与Y分别为下面两个代数Riccati方程的解…...

英码科技与泊川软件,携手加速AI与嵌入式系统融合创新

2025年4月15日&#xff0c;广州英码信息科技有限公司&#xff08;以下简称“英码科技”&#xff09;与广州泊川软件技术有限公司&#xff08;以下简称“泊川软件”&#xff09; 正式签署战略合作框架协议。此次合作将充分发挥双方在AI计算硬件与嵌入式操作系统领域的技术优势&a…...

电脑 访问 github提示 找不到网页,处理方案

1、找到 本机的 host文件 例如 windows 的 一般在 C:\Windows\System32\drivers\etc\hosts 用管理员身份打开 hosts 文件 如果文件中没有 github的配置&#xff0c;需要自己手动添加上去&#xff1b; 如果有&#xff0c;则需要 检查 github.com 与 github.global.ssl.fastly.…...

Linux学习——了解和熟悉Linux系统的远程终端登录

Linux学习——了解和熟悉Linux系统的远程终端登录 一.配置Ubuntu系统的网络和用户 1、设置虚拟机网络为桥接模式 打开VMWare&#xff0c;选择编辑虚拟机设置&#xff0c;在网络适配器设置中&#xff0c;选择“桥接模式”&#xff0c;保存设置并启动Ubuntu。 2、配置Ubuntu的…...

AI 中的 CoT 是什么?一文详解思维链

文章目录 CoT 的组成CoT 的作用CoT 的推理结构变体CoT 的特点CoT 的适用场景总结 在人工智能领域&#xff0c;尤其是自然语言处理和机器学习中&#xff0c;有一种名为思维链&#xff08;Chain of Thought&#xff0c;CoT&#xff09;的技术&#xff0c;它正逐渐改变着我们对 AI…...

【OC】AVPlayerLayer的学习

文章目录 前言关于AVPlayer概念及作用具体方法及使用 关于AVPlayerLayer基本概念及作用具体用法 AVPlayer与AVPlayerLayer结合实现视频播放应用使用本地视频使用网络请求申请视频数据 总结 前言 在编写类视频软件项目时&#xff0c;涉及到视频播放的问题&#xff0c;我们需要给…...