一、OpenCV

1. 安装openCV

pip install opencv-python

但因为openCV是外网的库,安装可能回很慢,建议从【清华镜像园】进行安装

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python

2. 找到文件分类器

MAC系统方法:在【访达】中搜索cv2,即可找到

import cv2
import os
import matplotlib.pyplot as pltos.chdir(‘d:\FaceRuyi’)#路径选择cv2/data的文件夹def detect(filename):
face_cascade =     cv2.CascadeClassifier(‘D:/FaceRuyi/data/haarcascade_frontalface_default.xml’)#找到default的文件复制路径img = cv2.imread(filename)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)faces = face_cascade.detectMultiScale(gray, 1.3, 5)for (x, y, w, h) in faces:img = cv2.rectangle(img, (x, y), (x + w, y + h), (255, 0, 0), 2)
plt.imshow(img)
plt.axis(‘off’)  #去掉坐标轴
plt.show()

但如果只是按以上这种写法,就会报错,因为在之前定义的detect函数没有被调用

正确写法如下⬇️

import cv2
import os
import matplotlib.pyplot as plt
os.chdir('/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/cv2/data')def detect(filename):face_cascade=cv2.CascadeClassifier('/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/cv2/data/haarcascade_frontalface_default.xml')img= cv2.imread(filename)gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)faces=face_cascade.detectMultiScale(gray, 1.3, 5)for(x,y,w,h)in faces:img=cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)plt.imshow(img)plt.axis('off')plt.show()
detect('/Users/liruiying/Desktop/上课/大三上/python/第二节/taylor.jpg')

def 下面的代码记得tab

二、Face-recognition

1. 安装

第一:pip install cmake 
第二:pip install dlib(人脸特征点) 
第三:pip install face_recognition

以上安装都可以通过【清华镜像园】 安装

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple xxxx(需要安装的包)

2. 框线识别

import face_recognition
import cv2
import matplotlib.pyplot as pltimage = face_recognition.load_image_file("/Users/liruiying/Desktop/上课/大三上/python/第二节/posterscope.JPG")
face_locations=face_recognition.face_locations(image)face_num2=len(face_locations)
print(face_num2)       # The number of faces
org = cv2.imread("/Users/liruiying/Desktop/上课/大三上/python/第二节/posterscope.JPG")for i in range(0,face_num2):top = face_locations[i][0]right = face_locations[i][1]bottom = face_locations[i][2]left = face_locations[i][3]#设置四个点的位置start = (left, top)end = (right, bottom)#进行划线color = (0,255,255)thickness = 2img=cv2.rectangle(org, start, end, color, thickness)plt.imshow(img)plt.axis('off')  #去掉坐标轴
plt.show()

有可能的报错:找不到face_recognition的包

遇到这种情况,可以尝试在notebook里重新pip

3. 点状识别

import cv2
import dlib
import matplotlib.pyplot as pltpath = "/Users/liruiying/Desktop/上课/大三上/python/第二节/posterscope.JPG"
img = cv2.imread(path)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)#人脸分类器
detector = dlib.get_frontal_face_detector()
# 获取人脸检测器
#predictor = dlib.shape_predictor(r’/opt/anaconda3/lib/python3.8/site-packages/face_recognition_models/models/shape_predictor_68_face_landmarks.dat‘)
predictor = dlib.shape_predictor(r"/opt/anaconda3/lib/python3.8/site-packages/face_recognition_models/models/shape_predictor_68_face_landmarks.dat")dets = detector(gray, 3)
for face in dets:shape = predictor(img, face)  # 寻找人脸的68个标定点# 遍历所有点,打印出其坐标,并圈出来for pt in shape.parts():pt_pos = (pt.x, pt.y)img=cv2.circle(img, pt_pos, 2, (0, 255, 0), 10)#如果点看不到,可以更改最后的数值,调节点的大小plt.imshow(img)
plt.axis('off')  #去掉坐标轴
plt.show()

1. 点位数量少?可以选择68的文件

predictor = dlib.shape_predictor(r"/opt/anaconda3/lib/python3.8/site-packages/face_recognition_models/models/shape_predictor_68_face_landmarks.dat")

2. 如果点还是特别不明显,可以进行参数的调整

在倒数第四行img=cv2.circle(img, pt_pos, 2, (0, 255, 0), 10)

最后一个数值即点的大小~

【python】MAC安装openCV人脸识别相关推荐

  1. python人脸照片分类_Python OpenCV 人脸识别(一)

    前面介绍了Numpy模块,下面再介绍一个OpenCV模块,就基于这两个库看一下当下很火的人工智能是如何实现的,我们介绍几个:人脸识别(当下非常火的).音视频操作等等.今天先介绍一下静态图片的人脸识别, ...

  2. 基于python opencv人脸识别的签到系统

    基于python opencv人脸识别的签到系统 前言 先看下效果 实现的功能 开始准备 页面的构建 功能实现 代码部分 总结 前言 一个基于opencv人脸识别和TensorFlow进行模型训练的人 ...

  3. Python+OpenCV人脸识别签到考勤系统(新手入门)

    Python+OpenCV人脸识别签到考勤系统(新手入门) 前言 项目效果图 项目需要的环境 编译器 辅助开发QT-designer 项目配置 代码部分 核心代码 项目目录结构 后记 正式版改进 项目 ...

  4. python opencv人脸识别考勤系统的完整源码

    这篇文章主要介绍了python opencv人脸识别考勤系统的完整源码,本文给大家介绍的非常详细,希望对大家的学习或工作具有一定的参考借鉴价值. 代码如下: import wx import wx.g ...

  5. 基于python opencv人脸识别的员工考勤系统

    WorkAttendanceSystem 一个基于opencv人脸识别的员工考勤系统,作者某双一流A类大学里的一流学生,写于2018/09/,python课设期间. 源代码详细解释请关注微信公众号: ...

  6. python读取视频流做人脸识别_python实现图片,视频人脸识别(opencv版)

    图片人脸识别 import cv2 filepath = "img/xingye-1.png" img = cv2.imread(filepath) # 读取图片 gray = c ...

  7. 用Python实现简单的人脸识别,10分钟(附源码)

    前言 今天,我们用Python实现简单的人脸识别技术! Python里,简单的人脸识别有很多种方法可以实现,依赖于python胶水语言的特性,我们通过调用包可以快速准确的达成这一目的.这里介绍的是准确 ...

  8. 10分钟手把手教你运用Python实现简单的人脸识别

    欲直接下载代码文件,关注我们的公众号哦!查看历史消息即可! 前言:让我的电脑认识我 我的电脑只有认识我,才配称之为我的电脑! 今天,我们用Python实现高大上的人脸识别技术! Python里,简单的 ...

  9. python人脸识别毕业设计-Python基于Dlib的人脸识别系统的实现

    之前已经介绍过人脸识别的基础概念,以及基于opencv的实现方式,今天,我们使用dlib来提取128维的人脸嵌入,并使用k临近值方法来实现人脸识别. 人脸识别系统的实现流程与之前是一样的,只是这里我们 ...

最新文章

  1. 关于Redis的使用!
  2. Java虚拟机JVM学习05 类加载器的父委托机制
  3. java 检查pos机状态_POS机故障大全及排查方法
  4. 加固工程验收规范50550_石家庄栾城县厂房梁柱加固施工队规范作业-建筑加固
  5. 【初涉C语言】程序员欢迎来到C语言的世界!
  6. Cisco交换机链路聚合
  7. python列表去括号_python的常用序列
  8. ios 替换数组中元素_leetcode169 数组中的主要元素
  9. Ubuntu 安装 CLI 并运行 ASP.NET Core 1.0
  10. 30岁学python有前途吗-为什么做大数据一定要学Python?
  11. Linux shell__文件操作
  12. 远端异步调用事件结果
  13. Chrome去广告插件-Adblock Plus
  14. iOS测试技巧:GPX文件修改经纬度
  15. 如何压缩图片呢?这两种方法很管用
  16. 信息炸弹——Message Boom
  17. 静态手绘图-屁民科普
  18. 如何使用Clonezilla克隆Windows硬盘
  19. 微信公众号调取相册和摄像头功能,实现图片上传
  20. 嘉兴 机器人仓库 菜鸟_菜鸟在嘉兴推出全新智能仓 宣布将在双11启用超级机器人仓群...

热门文章

  1. 让div填满剩下的空间
  2. 论文学习——洪水预报实时校正技术研究进展
  3. Oracle中和计算总工资,Oracle求部门员工工资占总工资的比率
  4. 一阶电路暂态响应的结果分析。_第八讲 线性电路的过渡过程分析二
  5. 用certbot申请证书,自动更新
  6. 华硕路由器WOL局域网唤醒失效解决方案
  7. 解决某些MySQL数据库的表没了,建数据库也建不了的情况
  8. 服务器要输入exit才会读系统,脚本经典小窍门
  9. 情人辞职信 [搞笑,也来个好玩的乐一乐]
  10. 四色菊皇家大学 SiSaKet Rajabhat University (SSKRU)