OpenCV + python 实现人脸检测(基于照片和视频进行检测)

【python|小乐趣儿】老照片修复神器 某天刷小red书发现可以将老照片修复成和刚拍的照片一样,看博主的视频,直呼也太神奇了。然后就根据博主推荐的小程序、app等注册试了试,oh,竟然要充money,哼,我就不信,我找不到免费的... 于是乎,就有了如下方法(腾讯开源项目),修复照片人脸还是很ok的,关键是不要钱,哈哈哈哈。 阅读详情

相关资料下载

  加助理小姐姐威信即可免费领取

Haar-like

通俗的来讲,就是作为人脸特征即可。

Haar特征值反映了图像的灰度变化情况。例如:脸部的一些特征能由矩形特征简单的描述,如:眼睛要比脸颊颜色要深,鼻梁两侧比鼻梁颜色要深,嘴巴比周围颜色要深等。

opencv api

要想使用opencv,就必须先知道其能干什么,怎么做。于是API的重要性便体现出来了。就本例而言,使用到的函数很少,也就普通的读取图片,灰度转换,显示图像,简单的编辑图像罢了。

如下:

读取图片

只需要给出待操作的图片的路径即可。

import cv2
image = cv2.imread(imagepath)

灰度转换

灰度转换的作用就是:转换成灰度的图片的计算强度得以降低。

import cv2
gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)

画图

opencv 的强大之处的一个体现就是其可以对图片进行任意编辑,处理。 
下面的这个函数最后一个参数指定的就是画笔的大小。

import cv2
cv2.rectangle(image,(x,y),(x+w,y+w),(0,255,0),2)

显示图像

编辑完的图像要么直接的被显示出来,要么就保存到物理的存储介质。

import cv2
cv2.imshow("Image Title",image)

获取人脸识别训练数据

看似复杂,其实就是对于人脸特征的一些描述,这样opencv在读取完数据后很据训练中的样品数据,就可以感知读取到的图片上的特征,进而对图片进行人脸识别。

import cv2
face_cascade = cv2.CascadeClassifier(r'./haarcascade_frontalface_default.xml')

里卖弄的这个xml文件,就是opencv在GitHub上共享出来的具有普适的训练好的数据。我们可以直接的拿来使用。

训练数据参考地址:

opencv/data/haarcascades at master · opencv/opencv · GitHub

探测人脸

说白了,就是根据训练的数据来对新图片进行识别的过程。

mport cv2

# 探测图片中的人脸

faces = face_cascade.detectMultiScale(
   gray,
   scaleFactor = 1.15,
   minNeighbors = 5,
   minSize = (5,5),
   flags = cv2.cv.CV_HAAR_SCALE_IMAGE
)

我们可以随意的指定里面参数的值,来达到不同精度下的识别。返回值就是opencv对图片的探测结果的体现。

处理人脸探测的结果

结束了刚才的人脸探测,我们就可以拿到返回值来做进一步的处理了。但这也不是说会多么的复杂,无非添加点特征值罢了。

import cv2

print "发现{0}个人脸!".format(len(faces))

for(x,y,w,h) in faces:
   cv2.rectangle(image,(x,y),(x+w,y+w),(0,255,0),2)

有了刚才的基础,我们就可以完成一个简单的人脸识别的小例子了。

基于照片:

图片素材

下面的这张图片将作为我们的检测依据。 

 人脸检测代码

import cv2
import numpy as np

import sys,os,glob,numpy
from skimage import io


#指定图片的人脸识别然后存储
img = cv2.imread("test.jpg")
color = (0, 255, 0)


grey = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

classfier = cv2.CascadeClassifier("C:\\Users\\22291_000\\Anaconda3\\Lib\\site-packages\\cv2\\data\\haarcascade_frontalface_alt2.xml")



faceRects = classfier.detectMultiScale(grey, scaleFactor=1.2, minNeighbors=3, minSize=(32, 32))
if len(faceRects) > 0: # 大于0则检测到人脸
for faceRect in faceRects: # 单独框出每一张人脸
x, y, w, h = faceRect
cv2.rectangle(img, (x - 10, y - 10), (x + w + 10, y + h + 10), color, 3) #5控制绿色框的粗细



# 写入图像
cv2.imwrite('output.jpg',img)
cv2.imshow("Find Faces!",img)
cv2.waitKey(0)

人脸检测结果

输出图片: 

基于视频:

人脸检测代码

import cv2
import sys
import logging as log
import datetime as dt
from time import sleep

cascPath = "C:\\Users\\22291_000\\Anaconda3\\Lib\\site-packages\\cv2\\data\\haarcascade_frontalface_alt2.xml"
faceCascade = cv2.CascadeClassifier(cascPath)

# 打开视频捕获设备
video_capture = cv2.VideoCapture(0)


while True:
if not video_capture.isOpened():
print('Unable to load camera.')
sleep(5)
pass

# 读视频帧
ret, frame = video_capture.read()

# 转为灰度图像
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

# 调用分类器进行检测
faces = faceCascade.detectMultiScale(
gray,
scaleFactor=1.1,
minNeighbors=5,
minSize=(30, 30),
#flags=cv2.cv.CV_HAAR_SCALE_IMAGE
)

# 画矩形框
for (x, y, w, h) in faces:
cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2)


# 显示视频
cv2.imshow('Video', frame)


if cv2.waitKey(1) & 0xFF == ord('q'):
break


# 关闭摄像头设备
video_capture.release()

# 关闭所有窗口
cv2.destroyAllWindows()

人脸检测结果

 A man must be on his own!


 小编吐血整理了有关Python人工智能的资料,有图像处理opencv\自然语言处理、机器学习、数学基础等资源库,还有200G人工智能大礼包内含:Pytorch、TensorFlow实战框架视频、图像识别、OpenCV、计算机视觉、深度学习与神经网络等视频、代码、PPT以及人工智能书籍,想学习人工智能或者转行到高薪资行业的,大学生也非常实用,你想要的的都有~

扫码+vx领取,也可以咨询学习问题

python--合影照片中多人脸检测、分离、存储、识别综合应用 一时对人脸识别发生了兴趣,这几天踩了不少坑,主要坑是在dlib的安装和参考网上代码时遇到或多或少代码错误。网上关于人脸检测、识别的代码很多,我采用了其中之一的方法,并综合应用,适合初学者入门学习,欢迎交流。 应用环境:window 7 、python3.5 shape_predictor_68_face_landmarks.dat 需在网上下载 dlib_face_recogniti... 阅读详情

相关推荐

基于Python的OpenCV人脸检测

本文将要讲述的是Python环境下如何用OpenCV检测人脸,本文的主要内容分为: 1、检测图片中的人脸 2、实时检测视频中出现的人脸 3、用运设备的摄像头实时检测人脸 提前做的准备: 安装好Python3 下载安装OpenCV库,方法是pip install opencv-python -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com/pypi/simple 下载特征数据HAAR和LBP,这两种数

冰河的博客 6万+

使用Python,Opencv检测图像,视频中的猫

这篇博客将介绍如何使用Python,OpenCV库附带的默认Haar级联检测器来检测图像中的猫。同样的技术也可以应用于视频流。这些哈尔级联由约瑟夫·豪斯(Joseph Howse)训练并贡献给OpenCV项目。 虽然哈尔级联非常有用,但通常使用HOG+线性SVM,因为它更容易调整检测器参数,更重要的是可以享受更低的假阳性检测率。

qq_40985985的博客 3609

[Python图像处理] 二十八.OpenCV快速实现人脸检测及视频中的人脸

该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门、OpenCV基础用法,中期讲解图像处理的各种算法,后期结合深度学习研究图像识别、图像分类应用。前面一篇文章详细讲解了Python和OpenGL的入门知识,包括安装、语法、基本图形绘制等。本篇文章将通过OpenCV快速实现人脸识别,涉及图像、视频、摄像头。基础性文章,希望对你有所帮助。

杨秀璋的专栏 2万+

[计算机实践项目]人脸面部识别模型在特定数据集上的训练与评估

现在,面部识别已成为生活中的一部分。我们在手机、平板电脑等设备中使用人脸信息进行解锁的时候,这时就要求获取我们的实时面部图像,并将其储存在数据库中以进一步表明我们的身份。 通过对输入图像进行迭代和预测可以完成这个过程。同样,实时人脸识别可与OpenCV框架python的实现配合使用。再将它们组合在一个组合级别中,以实现用于实时目的的模型。

Hai_Lang_IT的博客 7497

python-opencv人脸识别实战项目(图像收集)

本文介绍了一个基于Python-OpenCV的人脸数据采集程序。程序通过摄像头实时捕捉视频流,使用Haar级联分类器检测人脸,并允许用户按C键拍照保存人脸图像。主要功能包括:为每个用户创建独立文件夹;支持采集20张人脸照片;实时显示检测框;提供操作提示和异常检测(多人/无人脸情况);支持中途退出。所有照片按人名分类保存到dataset目录下,为后续人脸识别系统提供训练数据集。程序通过简单的交互设计,实现了高效的人脸数据采集功能。

m0_62800009的博客 1720

Claude Code + 自定义模型体验

AI 编程工具的发展突飞猛进:Cursor 横空出世,推出了“Agent 模式”;新竞争者如 Windsurf 也纷纷加入战局。几乎所有产品都开始转向“代理式(agentic)”开发模式——不再依赖单次 LLM 响应进行补全,而是让大模型在一个循环中调用各种工具,来完成更复杂的任务:分析代码库上下文、读取网页与文档、编译程序、运行测试、修复失败构建或测试、不断迭代等。

西京刀客 5791

Python-OpenCV人脸检测(代码)

做人脸识别,首先要检测出图片/视频中的人脸,今天就研究了一下OpenCV的Python接口,把常用的一些功能模块写成函数。基于Python-OpenCV以及PIL,实现图片中人脸的检测以及截取保存、眼睛检测、笑脸检测。下面简单总结一下。........总之,利用opencv里训练好的haar特征的xml文件,在图片上检测出人脸(眼睛、鼻子、笑脸…)的坐标,利用这个坐标,我们可以将人脸区域剪切保存,也可以在原图上将人脸框出。剪切保存人脸以及用矩形工具框出人脸,本程序使用的是PIL里的Image、ImageDr

wepon的专栏 7万+

Ansys Lumerical实战:5步搞定Mach-Zehnder调制器多物理场仿真(附眼图分析技巧)

本文详细介绍了使用Ansys Lumerical进行行波马赫-曾德尔调制器多物理场仿真的完整流程。通过CHARGE、MODE和INTERCONNECT三大模块的协同工作,从电学参数提取、光学射频特性分析到系统级眼图评估,分步解析了高效仿真与性能优化的核心技巧,为硅光调制器设计提供了实战指南。

weixin_29056781的博客 541

python视频人脸检测_OpenCV + python 实现人脸检测(基于照片和视频进行检测)

OpenCV + python 实现人脸检测(基于照片和视频进行检测)Haar-like通俗的来讲,就是作为人脸特征即可。Haar特征值反映了图像的灰度变化情况。例如:脸部的一些特征能由矩形特征简单的描述,如:眼睛要比脸颊颜色要深,鼻梁两侧比鼻梁颜色要深,嘴巴比周围颜色要深等。opencv api要想使用opencv,就必须先知道其能干什么,怎么做。于是API的重要性便体现出来了。就本例而言,使用...

weixin_39713538的博客 489

YOLOv11 Neck架构演进 - 从FPN/PAN到C2f/SPPF的融合策略实战剖析

本文深入剖析YOLOv11 Neck架构的演进历程,从FPN/PAN到C2f/SPPF的融合策略,详细解析了多尺度目标检测中的特征融合技术。通过实战案例展示了YOLOv11在无人机航拍等场景中的性能提升,特别是小目标检测AP值提升15%的显著效果,为计算机视觉开发者提供了宝贵的架构优化经验。

weixin_30500105的博客 431

RT-2(robotics-transformer2)论文--阅读笔记

谷歌RT-2机器人论文的阅读笔记。

weixin_61255639的博客 1825

python opencv 规定区域手势识别_Python编程 - 基于OpenCV实现人脸识别(实践篇)爬虫+人脸识别...

一.案例概述本案例需要一定的Python编程基础并掌握OpenCV基本使用。 时间仓促:初略编写文档效果如下:开发环境:操作系统:Windows 10开发工具:PyCharm 2019.2版本python版本:3.6.7计算机视频库包:opencv_contrib_python-4.1.0.25-cp36-cp36m-win_amd64.whl算法支持包:numpy(安装opencv默认安装num...

weixin_39926103的博客 145

SIwave仿真手册——软件基础(一)

最近在学习SIWAVE,在这里将自己的笔记整理一下,做一个专题。希望对大家有帮助,这个会持续更新的。仅限于软件操作学习,不涉及信号完整性的讨论。

luohuo9844的博客 4万+

python人脸识别

01读取照片.py import cv2 import numpy as np import os #加载训练数据集文件 recognizer=cv2.face.LBPHFaceRecognizer_create() recognizer.read('data/trainer/trainer.yml') #准备识别图片 img=cv2.imread('data/0.jpg') cv2.imshow("result", img) gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY

qq_44089890的博客 734

基于STM32姿态解算-正点原子ATK-IMU901模块标准库开发——正点原子串口角度传感器模块十轴IMU加速度气压计陀螺仪_资料编号29

购买了正点原子的ATK-IMU901模块后,发现例程给的是HAL库的,本项目将HAL库例程转换为库函数版本(基于STM32)。实战开发,亲测无误。

嵌入式阿齐Archie 3863

educoder中Hive综合应用案例 — 用户搜索日志分析

Hive综合应用案例 — 用户搜索日志分析

weixin_46026136的博客 4765

使用dlib实现人脸识别+活体检测

本项目专注于利用dlib库实现高效的人脸识别及活体检测功能。dlib是一个现代C++工具包,广泛应用于计算机视觉、机器学习和其他高级算法领域。通过结合dlib的强大功能,本资源提供了在实际应用中准确识别人脸并进行活体验证的关键技术。 ## 主要特点 - **高精度人脸检测**:采用dlib的HOG(Histogram of Oriented Gradients)特征和基于CNN(Convolu

gitblog_09802的博客 1056

机器学习初探——用线性回归预测股价趋势

在进入代码之前,先建立一个大框架。类型一句话解释金融中的应用监督学习给机器“标准答案”让它学预测股价(历史数据→未来价格)无监督学习不给答案,让机器自己找规律把相似股票自动归类、发现异常交易强化学习让机器通过“试错”学习最优策略AI自动交易、量化策略优化我们现阶段只学“监督学习”——这是最常用、最容易上手的。准备一堆“特征”和对应的“标签”(比如:历史的第N天 → 那天的价格)喂给机器一个“算法”(比如线性回归)机器“拟合”出一个规律(比如找到一条最合适的直线)

109

python+opencv 实现图像人脸检测及视频中的人脸检测

python+opencv 实现图像人脸检测及视频中的人脸检测,首先下载人脸检测要用到的分类器,熟悉opencv相关API的使用,然后利用python+opencv实现图像单人脸检测、图像多人脸检测、视频中人脸检测和摄像头人脸检测。

叶庭云 成为自己的光 1万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

人工智能-OpenCV+Python实现人脸识别(视频人脸检测)

上期文章我们分享了opencv识别图片中的人脸,OpenCV图片人脸检测,本期我们分享一下如何从视频中检测到人脸 视频人脸检测 OpenCV打开摄像头特别简单,只需要如下一句代码 capture = cv2.VideoCapture(0) # 打开摄像头 打开摄像头后,我们使用如下一句代码,来获取视频中的图片(每帧图片) ret, frame = capture.read() # 读...

huang714的专栏 2万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

【优秀课设】基于OpenCV的Python人脸识别、检测、框选(遍历目录下所有照片依次识别 视频随时标注)

基于OpenCV的Python人脸识别、检测、框选 (遍历目录下所有照片依次识别 视频随时标注) 一、功能概览 可以实现在摄像头下实时的人脸识别、检测、框选功能 原理是将摄像头下的图像人脸和存放照片的目录下的人脸依次进行对比 调用百度的API人脸识别接口 返回相似度的值进行识别 识别成功和失败均有提示 成功时能将对应的信息写入到识别记录中 并终止程序 当所有照片对比后均失败则提示失败 终止程序 窗口利用tkinter函数所写 利用PIL和opencv对图像进行处理 最后将识别结果和人脸框选图像在窗口中显示出

Mike Zhou的博客 1万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

上一篇: 人工智能学习路线
下一篇: 人工智能入门学习-人工智能岗位超吃香
普通网友
博客等级 码龄5年 1265粉丝 108原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值