python简单的人脸识别

以下全部代码由pycharm实现


前言

接下来我们将使用opencv中的模块进行人脸识别的操作


提示:以下是本篇文章正文内容,下面案例可供参考

一、opencv是什么?

penCV(开源计算机视觉库)是在 BSD 许可下发布的,因此它可以免费用于学术和商业用途。
它具有 C++,Python 和 Java 接口,支持 Windows,Linux,Mac OS,iOS 和 Android。
OpenCV 专为提高计算效率而设计,专注于实时应用。该库以优化的 C/C++ 编写,可以利用多核处理。
通过 OpenCL 启用,它可以利用底层异构计算平台的硬件加速。

OpenCV 在全球范围内采用,拥有超过 4.7 万用户社区,估计下载量超过 1400 万。
用途范围从交互式艺术,到地雷检查,网上拼接地图或高级机器人。

二、下载库

两种方式:
1、在pycharm里面下载:
在这里插入图片描述

2、通过 cmd下载:

pip install opencv-contrib

在安装前要确保自己有numpy的包
没有可以通过cmd输入pip install numpy 进行安装

三、引入库

import cv2 as cv

四、对图像操作

首先我们读取图像:

img = cv.imread("yujinlong.png")

然后对我们的图像进行一个灰度的处理

gary = cv.cvtColor(z_img,cv.COLOR_BGR2GRAY)

然后找到我们的分类器
分类器一般都在我们python安装目录里面的cv2模块目录里面
大致是这个样子

找到分类器后我们

face_d = cv.CascadeClassifier(r"D:\xuexi2\python\Lib\site-packages\cv2\data\haarcascade_frontalface_default.xml")

然后使用detectMultiScale函数检测人脸:

face = face_d.detectMultiScale(gary)

接下来对人脸进行画框

for x,y,w,h in face:
    cv.rectangle(z_img,(x,y),(x+w,y+h),color=(0,255,0),thickness=2)
cv.imshow("re",z_img)

四、对图像操作

按q退出并且释放缓存

while True:
    if ord("q") == cv.waitKey(0):
        break
#释放缓存
cv.destroyAllWindows()

五、出现的问题

1、出现以下问题说明我们的分类器的地址可能出现了错误

cv2.error: OpenCV(4.6.0-dev) D:\a\opencv-python\opencv-python\opencv\modules\objdetect\src\cascadedetect.cpp:1689: error: (-215:Assertion failed) !empty() in function 'cv::CascadeClassifier::detectMultiScale'

总结

对opencv人脸识别的基本操作

本人笔记希望对你有用

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿龙的代码在报错

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值