python人脸识别opencv_体验opencv进行人脸识别(基于python)

这篇博客介绍了如何在Python中利用OpenCV的人脸识别功能。首先通过pip安装opencv-python模块,然后加载预训练的分类器如haarcascade_frontalcatface.xml。接着,读取图片并将其转换为灰度图,再使用detectMultiScale函数检测人脸。最后,将检测到的矩形区域绘制到原图上并展示。整个过程展示了OpenCV在人脸识别上的基本应用。
摘要由CSDN通过智能技术生成

使用opencv自带的分类器进行人脸识别,python中需要导入cv2模块。如果之前没有安装过这个模块可以用pip工具安装:

pip install opencv-python

安装完成后就可以开始编码了

1.导入模块

import cv2

2.加载分类器

myCascade = cv2.CascadeClassifier("cascade")

myCascade.load("D:/env/opencv2/opencv/build/share/OpenCV/haarcascades/haarcascade_frontalcatface.xml")

haarcascade_frontalcatface.xml分类器就是opencv自带的前脸识别分类器,目录中还有一些其他的分类器有兴趣可以尝试一下。

3.加载图片

image = cv2.imread("03.jpg");

使用imread函数,传入图片路径。

4.将图片转换为灰度图

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

5.传入灰度图进行检测,识别出人脸的区域。

rects = myCascade.detectMultiScale(gray, scaleFactor = 1.3,minNeighbors = 3,minSize=(100,100),flags=cv2.IMREAD_GRAYSCALE)

调用分类器对象的detectMultiScale函数进行检测,第一个参数就是贷检测的图片,scaleFactor搜索窗口变换的比例默认1.1,minNeighbors表示每个目标至少要被检测到多少次才算真的目标,minSize表示目标的最小尺寸,flags与旧函数cvHaarDetectObjects中的相同,也不知道是啥。

6.将检测出的矩形区域绘制到图片中

for (x,y,w,h) in rects:

cv2.rectangle(image,(x,y),(x+w,y+h),(0,255,0),1)

7.最后显示绘有矩形区域的图片

cv2.imshow('img',image)

全部代码如下:

201911221574385517275107.png

运行效果:

201911221574385548768085.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值