Python使用OpenCV识别图片人脸

在Python中,识别图片中的人脸并获取人脸区域的坐标,通常可以使用OpenCV库结合Haar特征分类器来实现。

安装OpenCV依赖

pip install opencv-python

识别图片中的人脸并获取其坐标

import cv2  def detect_faces(image_path):  # 加载预训练的Haar级联分类器  face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')  # 读取图片  img = cv2.imread(image_path)  gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)  # 检测图片中的人脸  faces = face_cascade.detectMultiScale(gray, 1.3, 5)  # 遍历检测到的所有人脸  for (x, y, w, h) in faces:  # 在原图上绘制矩形框  cv2.rectangle(img, (x, y), (x+w, y+h), (255, 0, 0), 2)  # 显示结果图片  cv2.imshow('img', img)cv2.waitKey(0)cv2.destroyAllWindows()# 打印人脸区域的坐标for (x, y, w, h) in faces:print(f"Face found at: Left: {x} Top: {y} Right: {x+w} Bottom: {y+h}")  # 调用函数,传入图片路径  
detect_faces('path_to_your_image.jpg')

上述代码中,detect_faces函数接受一个图片路径作为参数,并使用OpenCV的CascadeClassifier来加载一个预训练的Haar级联分类器,该分类器用于检测图片中的人脸。然后,它读取图片,将其转换为灰度图,并使用detectMultiScale方法检测人脸。检测到的每个人脸都会以矩形框的形式在原图上绘制出来,并打印出其坐标。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/51695.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LabVIEW项目中硬件选型与长期需求沟通

在LabVIEW项目中,选择合适的硬件和有效的需求沟通是成功的关键。大品牌硬件通常具备更高的稳定性和完善的售后服务,而小品牌虽然看似便宜,却可能带来通讯不稳定、技术支持不足等问题,增加开发难度。同时,在科研类项目中…

Android音视频开发,需要学些什么?

如果你想学习 Android 音视频开发,以下是一些需要学习的内容: 一、基础知识 Java 或 Kotlin 编程语言:Android 开发主要使用这两种语言,确保你对其中一种有扎实的掌握,包括语法、面向对象编程概念、数据结构和算法等…

IaaS、PaaS、SaaS 与 FaaS 的对比与应用

目录 前言正文1. 基本知识2. 差异 前言 主要讲解一个区分点 正文 1. 基本知识 IaaS(基础设施即服务) 定义:IaaS 提供虚拟化的计算资源,如服务器、存储和网络基础设施 用户可以通过互联网访问这些资源,像使用物理硬件…

设计模式-结构型模式-组合模式

1.组合模式的定义 将对象组合成树形结构以表示整个部分的层次结构,组合模式可以让用户统一对待单个对象和对象的组合;其更像是一种数据结构和算法的抽象,其中数据可以表示成树这种数据结构,业务需求可以通过在树上的递归遍历算法来…

设计模式 15 解释器模式

设计模式 15 创建型模式(5):工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式结构型模式(7):适配器模式、桥接模式、组合模式、装饰者模式、外观模式、享元模式、代理模式行为型模式&#xff…

C# 什么是属性

1.属性Aproperty)是一种用于访问对象或类型的特征的成员,特征反映了状态 2.属性是字段的自然扩展 从命名上看,field更偏向于实例对象在内存中的布局,property更偏向于反映现实世界对象的特征对外:暴露数据,数据可以是存储在字段里的,也可以是动态计算出来的对内:保护字段不被…

基于机器学习的商品评论情感分析

从淘宝爬取评论 使用Selenium模拟真实登录行为,并爬取数据。 数据清理 如果文本中有“666“,”好好好“等无用词语,去掉评论中的标点符号。 分词 使用jieba精确模式进行分词,构造词典 将词汇向量化 创建词语字典,并…

Java技术栈 —— Spark入门(三)之实时视频流

Java技术栈 —— Spark入门(三)之实时视频流转灰度图像 一、将摄像头数据发送至kafka二、Kafka准备topic三、spark读取kafka图像数据并处理四、本地显示灰度图像(存在卡顿现象,待优化) 项目整体结构图如下 参考文章或视频链接[1] Architectur…

python自动化脚本:让工作自动化起来

Python是一种流行的编程语言,以其简洁和易读性而闻名。它提供了大量的库和模块,使其成为自动化各种任务的绝佳选择。 我们将探讨9个Python脚本及其代码,可以帮助您自动化各种任务并提高工作效率。无论您是开发人员、数据分析师还是只是想简化…

Python-MNE-源空间和正模型07:修复BEM和头表面

有时在创建BEM模型时,由于可能出现的一系列问题(例如,表面之间的交叉),表面需要手动校正。在这里,我们将看到如何通过将表面导出到3D建模程序blender,编辑它们,并重新导入它们来实现这一点。我们还将给出一…

Java 入门指南:初识 Java 并发编程

何为并发编程 并发编程是指在程序中同时执行多个任务的一种编程方式。它通常用于提高程序的性能和响应时间。 在传统的单线程编程模型中,每次只能执行一个任务,当任务阻塞或耗时较长时,整个程序会变得缓慢。而并发编程则可以通过同时执行多…

鸿蒙(API 12 Beta3版)【通过字节数组生成码图】

基本概念 码图生成能力支持将字节数组转换为自定义格式的码图。 场景介绍 码图生成能力支持将字节数组转换为自定义格式的码图。 例如:调用码图生成能力, 将字节数组转换成交通一卡通二维码使用。 约束与限制 只支持QR Code生成,根据纠错水平不同对…

LuaJit分析(七)LuaJit -b 命令分析

Luajit -b 命令用于生成字节码文件,通过之前对 -bl命令的分析: luajit -bl 命令分析 可知,-b系统的命令都通过执行 bcsave.lua脚本来完成, luajit -b命令最终是执行bcsave.lua脚本中的 bcsave函数,bcsave函数代码如下…

【已解决】win11笔记本电脑突然无法检测到其他显示器 / 无法使用扩展屏(2024.8.29 / 驱动更新问题)

我们点击 winx ,找到设备管理器,查看显示适配器: 主要问题就出现在 NVIDIA GeForce RTX 3060 Laptop GPU 上(虽然我把所有驱动都重新更新了一遍😭)。 常用驱动更新: dell 驱动更新&#xff08…

深入解析Nginx的Fair调度算法:实现请求的智能分配

在Web服务器和负载均衡器的领域,Nginx以其高性能和灵活性而闻名。Nginx提供的负载均衡模块支持多种调度算法,其中fair算法是一种动态分配请求的方法,它根据后端服务器的响应时间来智能地分配请求。本文将详细介绍Nginx的fair调度算法的工作原…

android 14及android15 READ_EXTERNAL_STORAGE跟相册,视频权限的适配

最近在做Android15的适配,发现WRITE_EXTERNAL_STORAGE跟READ_EXTERNAL_STORAGE无法使用了,被弃用了 在android 13添加了外部细分权限,READ_MEDIA_IMAGES跟READ_MEDIA_VIDEO及 READ_MEDIA_AUDIO权限,而在应用内部的文件管理则不需要…

HTML <template> 标签的基本技巧

前言 HTML中的<template>标记是 Web 开发中一个功能强大但经常未得到充分利用的元素。它允许你定义可重复使用的内容&#xff0c;这些内容可以克隆并插入 DOM 中而无需最初渲染。 此功能对于创建动态、交互式 Web 应用程序特别有用。 在本文中&#xff0c;我们将探讨有…

排序算法之希尔排序详细解读(附带Java代码解读)

希尔排序&#xff08;Shell Sort&#xff09;是一种基于插入排序的改进算法&#xff0c;它通过将待排序的数组分成若干个子数组&#xff0c;并对这些子数组进行插入排序&#xff0c;从而提高整体排序效率。希尔排序的主要思想是利用分组的方式来减少元素之间的移动距离&#xf…

STM32G474采用“多个单通道ADC转换”读取3个ADC引脚的电压

STM32G474采用“多个单通道ADC转换”读取3个ADC引脚的电压&#xff1a;PC0、PA1和PA2。本测试将ADC1_IN6映射到PC0引脚&#xff0c;ADC12_IN2映射到PA1引脚&#xff0c;ADC1_IN3映射到PA2引脚。 1、ADC输入 ADC输入电压范围&#xff1a;Vref– ≤ VIN ≤ Vref ADC支持“单端输入…

C#面:ActionResult 和 ViewResult有什么不同?

ActionResult 和 ViewResult 是 ASP.NET MVC 中的两个重要的类&#xff0c;用于处理控制器方法的返回结果。 ActionResult&#xff1a;是一个抽象基类&#xff0c;表示控制器方法的返回结果。它提供了一系列派生类&#xff0c;如ViewResult、RedirectResult、JsonResult 等&am…