Numpy+OpenCV实现图片中的人脸识别及优化

本文介绍了如何利用Python的numpy和opencv-python库进行人脸识别,并通过调整detectMultiScale方法的参数进行优化,解决误识别和重复识别问题,达到更准确的人脸检测效果。
摘要由CSDN通过智能技术生成

随着科技的不断进步和发展,近几年,人脸识别已经成为日常生活中非常常见的一种应用,例如公司员工上下班打卡,支付宝刷脸支付等等。
Python作为数据分析最热门的语言之一,实现人脸识别是很容易的,因为可以直接调用opencv-python库,使用库中封装好的算法来进行实现。

环境配置

如果之前未安装过numpy和opencv-python库,需要首先进行安装。如果已经安装过可跳过此步骤。

pip install numpy
pip install opencv-python

人脸识别(初步)

import numpy as np
import cv2
# 使用正脸检测的级联分类器
face_detect = cv2.CascadeClassifier('./haarcascade_frontalface_alt.xml')
# 处理的图片
img = cv2.imread('./Hinatazaka46.jpg')
# 检测到的所有人脸位置
face_zones = face_detector.detectMultiScale(img)
# 在检测到的人脸位置加方框等图形进行显示
# x,y代表左上角坐标,w为宽度, h为高度
for x,y,w,h in face_zones:
	# 1.使用方框进行显示,框的颜色为红色,pt1为左上角坐标,pt2为右下角坐标
    cv2.rectangle(img,pt1 = (x,y),pt2 = (x + w,y + h),color = [0, 0,255],thickness = 2)
    # 2.使用圆
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值