python-opencv之人脸检测
2022/7/25 1:54:10
本文主要是介绍python-opencv之人脸检测,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
引用网址:https://www.it610.com/article/1546269872961425408.htm
文章目录
- 一、概述
- 二、相关概念
- 三、实际操作
-
- 1.图片检测
- 2.打开摄像头进行人脸检测
一、概述
`本文为我学习python环境下用opencv检测人脸的内容总结。
二、相关概念
##opencv中提供了三种训练好的级联分类器(通过不同特征进一步筛选,最终得出所属的分类)。在相应的haarcascades、hogcascades、lbpcascades文件夹中分别存放着HAAR、HOG、LBP级联分类器,他们以.xml的文件形式存放在opencv的源文件中。
不同的.xml文件可检测不同的类型,如:眼睛、眼镜、正面人脸、鼻子等。
三、实际操作
1.图片检测
代码如下(示例):
import cv2 as cv def fac_detect_demo():#人脸检测函数 gray=cv.cvtColor(img,cv.COLOR_BGR2GRAY)#图片变为灰度图,人脸特征需在灰度图中查找 face_detector=cv.CascadeClassifier('E:/opencv/data/haarcascades/haarcascade_frontalface_default.xml') #通过级联检测器cv.CascadeClassifier,加载特征数据 faces= face_detector.detectMultiScale(gray) #在尺度空间对图片进行人脸检测 for x,y,w,h in faces:#绘制矩形, cv.rectangle(img,(x,y),(x+w,y+h),color=(23,255,255),thickness=3)#矩形第一个顶点,对角线上另一个顶点,颜色,宽度 #cv.circle(img,center=(x+w//2,y+h//2),radius=w//2,color=(23,255,255),thickness=3)圆形绘制 img = cv.imread('filename') fac_detect_demo() cv.imshow('detect',img) cv.waitKey(0) cv.destroyAllWindows
2.打开摄像头进行人脸检测
代码如下(示例):
import numpy as np def face_detect_demo(image): gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY) face_detector = cv.CascadeClassifier('E:/opencv/data/haarcascades/haarcascade_frontalface_alt_tree.xml') faces = face_detector.detectMultiScale(gray, 1.02, 5) for x, y, w, h in faces: cv.rectangle(image, (x, y), (x+w, y+h), (0, 255, 255), 2) cv.imshow("result", image) capture = cv.VideoCapture(0) cv.namedWindow("result", cv.WINDOW_AUTOSIZE) while (True): #按帧读取视频,ret,frame是获cap.read()方法的两个返回值。其中ret是布尔值,如果读取帧是正确的则返回True,如果文件读取到结尾,它的返回值就为False。frame就是每一帧的图像,是个三维矩阵。 ret, frame = capture.read() # cv.flip函数表示图像翻转,沿y轴翻转, 0: 沿x轴翻转, <0: x、y轴同时翻转 frame = cv.flip(frame, 1) face_detect_demo(frame) c = cv.waitKey(10) if c == 27:#当键盘按下‘ESC’退出程序 break cv.waitKey(0) cv.destroyAllWindows()
这篇关于python-opencv之人脸检测的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门
- 2024-11-14Python编程入门指南
- 2024-11-13Python基础教程
- 2024-11-12Python编程基础指南
- 2024-11-12Python基础编程教程
- 2024-11-08Python编程基础与实践示例
- 2024-11-07Python编程基础指南
- 2024-11-06Python编程基础入门指南
- 2024-11-06怎么使用python 计算两个GPS的距离功能-icode9专业技术文章分享