《OpenCV计算机视觉》—— 人脸识别

news2024/11/25 17:23:56
  • 识别图片如下:
    在这里插入图片描述

  • 完整代码:

import cv2

image = cv2.imread('face.png')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
""" 加载分类器 """
faceCascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
""" 分类器检测实现人脸识别 """
"""
objects =cv2.CascadeClassifier,detectMultiscale( image[, scaleFactor[,minNeighbors[,flags[,minsize[,maxsize]]]]])
其中,各个参数及返回值的含义如下:
    image: 待检测图像,通常为灰度图像。
    scaleFactor: 表示在前后两次相继扫描中搜索窗口的缩放比例。识别,扫描,按照不同比例来进行扫描
    minNeighbors: 表示构成检测目标的相邻矩形的最小个数。在默认情况下,该参数的值为 3.
                 表示有 3 个以上的检测标记存在时才认为存在人脸。
                 如果希望提高检测的准确率可以将该参数的值设置得更大,
                 但这样做可能会让一些人脸无法被检测到。
    flags: 该參数通常被省略。在使用低版本 pencV(opencv 1.X 版本)时,该参数可能会被设置为
            CV_HAAR_DO_CANNY_PRUNING,表示使用 canny 边缘检测器拒绝一些区城
    minsize: 目标的最小尺寸,小于这个尺寸的目标将被忽略。
    maxSize: 目标的最大尺寸,大于这个尺寸的目标将被忽略。通常情况下,将该可选参数省略即可。
             若 maxsize 和 minsize 大小一致,则表示仅在一个尺度上査找目标。
    objects: 返回值,目标对象的矩形向量组。该值是一组矩形信息,
             包含每个检测到的人脸对应的矩形框的信息(x轴方向位置、y轴方向位置、宽度、高度)。
"""
faces = faceCascade.detectMultiScale(gray, scaleFactor=1.05, minNeighbors=9, minSize=(8, 8))
print("发现{}张人脸".format(len(faces)))
print("其位置分别是:", faces)

for (x, y, w, h) in faces:
    cv2.rectangle(image, (x, y), (x + w, y + h), (0, 255, 0), 2)
cv2.imshow("result", image)
cv2.waitKey(0)
cv2.destroyAllWindows()
  • 结果如下:
    在这里插入图片描述

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

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

相关文章

UE5 使用Animation Budget Allocator优化角色动画性能

Animation Budget Allocator是UE内置插件,通过锁定动画系统所占CPU的预算,在到达预算计算量时对动画进行限制与优化。 开启Animation Budget Allocator需要让蒙皮Mesh使用特定的组件,并进行一些编辑器设置即可开启。 1.开启Animation Budget…

浏览器指纹原理及技术实现探索

文章目录 [TOC](文章目录) 前言一、什么是浏览器指纹?二、浏览器指纹的作用三、 浏览器指纹如何保证唯一性四、浏览器指纹的隐私问题五、如何应对浏览器指纹?六、目前常用的技术方案七、技术实现探索1、简易方式2、fingerprintjs2方式 八、总结 前言 在…

国家药包材标准数据库在线查询方法<实用篇>

从业于医药相关的包材行业这么多年,对于许多医药行业的生产企业、药品检验机构、药品注册申请人以及医疗机构的朋友而言,查询国家药包材标准是他们日常工作的一部分,相对容易。然而,对于那些刚进入这个行业的新手或者普通大众来说…

【测试】自动化——常用函数

元素的定位 查找元素:find_element(方式,“元素”),表示查找一个元素; find_element(方式,“元素”),表示查找多个元素。 ###使用查找多个元素 ChromeInsChromeDriverManager().install() driverwebdriv…

uniapp学习(005-2 详解Part.2)

零基础入门uniapp Vue3组合式API版本到咸虾米壁纸项目实战,开发打包微信小程序、抖音小程序、H5、安卓APP客户端等 总时长 23:40:00 共116P 此文章包含第41p-第p51的内容 文章目录 mainifest.json文件配置获取微信小程序appid注册微信小程序微信小程序控制台图形界…

Linux 命令:每日一学,文件查找之find命令实践

[ 知识是人生的灯塔,只有不断学习,才能照亮前行的道路 ] 0x00 前言简述 描述:前面我们一些学习了Linux文件内容查看、分隔列、排序、统计等命令,相信认真学习实践过的看友都已经初步掌握了吧,今天我们继续学习下Linux中…

本地生活服务项目入局方案解析!本地生活服务商系统能实现怎样的作业效果?

当前,各大平台的本地生活服务业务日渐兴盛,提高创业者入局意向的同时,也让本地生活服务项目有哪些等问题也成为了多个创业者社群中的热议对象。而从目前的讨论情况来看,在创业者们所询问的众多本地生活服务项目中,通过…

从二维到三维,电商行业有哪些变化?

从二维到三维,电商行业经历了一系列显著的变化,这些变化不仅体现在商品展示的方式上,还深刻影响了消费者的购物体验、电商平台的运营策略以及整个电商行业的竞争格局。 一、商品展示方式的变革 二维展示阶段: 在电商行业的早期&…

一键安装与配置Stable Diffusion,轻松实现AI绘画

随着技术的迭代,目前 Stable Diffusion 已经能够生成非常艺术化的图片了,完全有赶超人类的架势,已经有不少工作被这类服务替代,比如制作一个 logo 图片,画一张虚拟老婆照片,画质堪比相机。 最新 Stable Di…

kubernetes(K8s)学习(一)

本文主要是搭建一个k8s平台,并部署一个springboot的jar包,后续以此作为学习k8s的环境。 1. 搭建k8s集群 网上有很多指导,大家可以在网上搜索一下,比如这个:K8s搭建集群-CSDN博客,本人通过VMware安装3台虚拟…

国外电商系统开发-运维系统操作脚本

查看脚本内容,只需要点击即可: 执行脚本,请点击 点击了下一步后,可以输出脚本参数,当然你可以可以不输入,直接下一步就行: 现在,点击【下一步】执行开始出初始化脚本: …

【力扣刷题实战】(归并排序)合并两个有序数组

大家好,我是小卡皮巴拉 文章目录 目录 力扣题目: 合并两个有序数组 题目描述 示例 1: 示例 2: 示例 3: 解题思路 具体思路 题目要点 作图助解 完整代码(C语言) 兄弟们共勉 &#…

Linux多任务编程(网络编程-数据库篇)

前言 本文记录嵌入式领域用的小型数据库 sqlite数据库,以及c语言中使用sqlite3。 数据库 数据存储方式(3种) (1)直接地址存储:单片机的烧写; (2)文件存储&…

接口多继承与子类继承多接口时的冲突问题,方法冲突与变量冲突.....

🚀 个人简介:某大型国企资深软件开发工程师,信息系统项目管理师、CSDN优质创作者、阿里云专家博主,华为云云享专家,分享前端后端相关技术与工作常见问题~ 💟 作 者:码喽的自我修养&#x1f9…

IDEA2024最新版本运行Web应用时 Tomcat 日志中的中文乱码问题修复解决

一、IDEA2024运行Tomcat日志中的中文乱码问题修复 在使用tomcat的时候经常遇到乱码问题,要么是控制台输出乱码或者输出日志乱码,要么页面接收乱码,产生乱码的根本原因就是编码和解码不一致。网上有的文章写得也有问题,今天自己多看…

计算机毕业设计 | springboot商城售后管理系统 购物平台(附源码)

1,绪论 1.1 开发背景 在数字化时代的推动下,产品售后服务管理机构面临着信息化和网络化的挑战。传统的手工管理和纸质档案已经无法满足管理人员和读者的需求。为了提高产品售后服务管理机构的管理效率和服务质量,开发和实现一个基于Java的售…

轻量服务器和云服务器ecs哪个好用一些?

轻量服务器和云服务器ecs哪个好用一些?轻量服务器与云服务器ECS在多方面存在显著差异,对于需要高性能计算和大规模数据处理的用户来说,ECS可能是更好的选择;而对于预算有限且需求较为简单的用户来说,轻量服务器可能更为…

计算机网络:数据链路层 —— 可靠传输服务

文章目录 可靠传输停止-等待 (SW) 协议超时重传机制分组编号机制ACK 丢失问题ACK 延迟问题 注意事项信道利用率 回退 N 帧 (GBN) 协议滑动窗口信道利用率无传输差错超时重传、回退N帧 累计确认 选择重传 (SR) 协议滑动窗口 可靠传输 若数据链路层向其上层提供的服务类型为可靠…

【Linux】Screen的使用:新建、退出、再登陆

Linux screen 命令详解与使用指南 在Linux系统中,screen 是允许用户在单个终端会话中运行多个进程,并能在会话之间切换。 适用情况:screen 特别适用于远程登录(如通过SSH)时,确保即使网络连接断开&#x…

2017年-2021年 软件工程程序设计题(算法题)实战_c语言程序设计数据结构程序设计分析

文章目录 2017年1.c语言程序设计部分2.数据结构程序设计部分 2018年1.c语言程序设计部分2.数据结构程序设计部分 2019年1.c语言程序设计部分2.数据结构程序设计部分 2020年1.C语言程序设计部分2.数据结构程序设计部分 2021年1.C语言程序设计部分2.数据结构程序设计部分 2017年 …