python简单的人脸识别

以下全部代码由pycharm实现

文章目录

  • 前言
  • 一、opencv是什么?
  • 二、下载库
  • 三、引入库
  • 四、对图像操作
  • 四、对图像操作
  • 五、出现的问题
  • 总结


前言

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


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

一、opencv是什么?

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

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

二、下载库

两种方式:
1、在pycharm里面下载:
python简单的人脸识别_第1张图片

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模块目录里面
大致是这个样子
python简单的人脸识别_第2张图片
找到分类器后我们

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人脸识别的基本操作

本人笔记希望对你有用

你可能感兴趣的:(python,python,opencv,计算机视觉,pycharm,开发语言)