发帖
22 1 0

python-人像识别-(一)让电脑看到你

liuli
金牌会员

5

主题

49

回帖

2173

积分

金牌会员

积分
2173
技术杂谈 8367 22 2024-6-5 13:28:17
本帖最后由 liuli 于 2024-6-5 18:49 编辑

首先我的python都是在网上学的也没有学太深,所以一些格式或者别的有点问题,但是肯定能运行,我都在本地运行过了。
至于如何用python实现开发可以看这篇文章:小白用小安派学习过程第四篇

之后可以看看妖猊这位大佬的其他帖子。
  • 准备工作

梳理一下实现人脸识别需要进行的步骤:

流程大致如此,在此之前,要先让人脸被准确的找出来,也就是能准确区分人脸的分类器,在这里我们可以用已经训练好的分类器,网上种类较全,分类准确度也比较高,我们也可以节约在这方面花的时间,当然也可以自己训练消耗时间会久一点。
为了方便我直接将分类器放到下面可自行下载,我也是在网上下载的。
https://bbs.ai-thinker.com/forum.php?mod=attachment&aid=MjYyODF8ZjhmNDlmZTB8MTc4MDg2MjA3MHwwfA%3D%3D
自行下载可以访问:分类器

在看代码之前,我们先将整个项目所需要的包罗列一下:
如果你用的pycharm可以在软件里的终端输入下面代码。
当然也可以直接在Lib\site-packages文件夹下进入cmd输入以下代码。
· CV2(Opencv):图像识别,摄像头调用
  1. pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
复制代码
· os:文件操作
  1. pip install  os -i https://pypi.tuna.tsinghua.edu.cn/simple
复制代码
· numpy:NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库
  1. pip3 install numpy scipy matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple
复制代码
· PIL:Python Imaging Library,Python平台事实上图像处理的标准库

  1. pip install pillow -i https://pypi.tuna.tsinghua.edu.cn/simple
复制代码
好了这样代码所需要的包就下载完成了。
导入包
import cv2
import os
import numpy as np
from PIL import Image
2.让电脑看见你
  1. def qidong(face_detector):
  2.     # 打开摄像头,0是默认,有其它的摄像头可以输入1,2
  3.     cap = cv2.VideoCapture(0)
  4.     while True:
  5.        #从摄像头读取图片
  6.         success, img = cap.read()
  7.         #转为灰度图片,减少程序符合,提高识别度
  8.         gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
  9.         ##检测人脸,将每一帧摄像头记录的数据带入OpenCv中,让Classifier判断人脸
  10.     #其中gray为要检测的灰度图像
  11.         faces = face_detector.detectMultiScale(gray, scaleFactor=1.3, minNeighbors=5)
  12.         #框选人脸,for循环保证一个能检测的实时动态视频流
  13.         for (x, y, w, h) in faces:
  14.             #xy为左上角的坐标,w为宽,h为高,用rectangle为人脸标记画框
  15.             cv2.rectangle(img, (x, y), (x + w, y + w), (255, 0, 0))
  16.             #显示画面
  17.             cv2.imshow('sheXingTou', img)
  18.         #waitkey方法可以绑定按键保证画面的收放,通过esc键退出摄像,27对应的就是esc
  19.         if cv2.waitKey(1) == 27:
  20.             cap.release()
  21.             cv2.destroyAllWindows()
  22.             break
  23. #分类器地址,根据你的路径调整,下载的分类器最好和代码文件放一个文件夹内
  24. face_detector="haarcascade_frontalface_default.xml"
  25. #启动
  26. qidong(face_detector=face_detector)
复制代码
这样电脑就能看到你了,当然光看到还不行还需要拍照将图片处理成训练模型能用到的样子,之后就可以训练模型了,最后就可以让电脑认识你了。
下期进行拍照将图片处理成模型需要的样子。
上传的附件: haarcascade_frontalface_default.zip (124.05 KB, 下载次数: 3)

──── 1人觉得很赞 ────

使用道具 举报

6
2024-6-8 05:43:02
厉害
WangChong 发表于 2024-6-6 16:53
肯定是不支持你帖子中的代码的, 不用看

玛丽哥说, 你这个人脸检测倒是有一个办法就是M61 推流给电脑让电脑识别,但是在M61上应该是实现不了的
liuli 发表于 2024-6-6 14:47
https://bbs.ai-thinker.com/forum.php?mod=viewthread&tid=333
这位大佬有写,但我昨天跟着教程走最后返 ...

肯定是不支持你帖子中的代码的, 不用看
2024-6-6 14:47:45
WangChong 发表于 2024-6-5 23:25
啊? M61 支持PY了?

https://bbs.ai-thinker.com/forum.php?mod=viewthread&tid=333
这位大佬有写,但我昨天跟着教程走最后返回乱码,私信他也没反应
liuli 发表于 2024-6-5 20:25
你可以烧录进去啊

啊? M61 支持PY了?
2024-6-5 20:25:34

你可以烧录进去啊
这跟m61 啥关系
2024-6-5 14:22:19
爱笑 发表于 2024-6-5 14:16
你把这个照片重新从电脑本地上传一下,然后再点击插入一次。

还是没有,不过这个照片也不主要
2024-6-5 14:16:34
liuli 发表于 2024-6-5 14:14
是这样吧,应该没搞错吧

你把这个照片重新从电脑本地上传一下,然后再点击插入一次。
您需要登录后才可以回帖 立即登录
高级模式
123下一页
统计信息
  • 会员数: 31051 个
  • 话题数: 44939 篇