【python】MAC安装openCV人脸识别
一、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人脸识别相关推荐
- python人脸照片分类_Python OpenCV 人脸识别(一)
前面介绍了Numpy模块,下面再介绍一个OpenCV模块,就基于这两个库看一下当下很火的人工智能是如何实现的,我们介绍几个:人脸识别(当下非常火的).音视频操作等等.今天先介绍一下静态图片的人脸识别, ...
- 基于python opencv人脸识别的签到系统
基于python opencv人脸识别的签到系统 前言 先看下效果 实现的功能 开始准备 页面的构建 功能实现 代码部分 总结 前言 一个基于opencv人脸识别和TensorFlow进行模型训练的人 ...
- Python+OpenCV人脸识别签到考勤系统(新手入门)
Python+OpenCV人脸识别签到考勤系统(新手入门) 前言 项目效果图 项目需要的环境 编译器 辅助开发QT-designer 项目配置 代码部分 核心代码 项目目录结构 后记 正式版改进 项目 ...
- python opencv人脸识别考勤系统的完整源码
这篇文章主要介绍了python opencv人脸识别考勤系统的完整源码,本文给大家介绍的非常详细,希望对大家的学习或工作具有一定的参考借鉴价值. 代码如下: import wx import wx.g ...
- 基于python opencv人脸识别的员工考勤系统
WorkAttendanceSystem 一个基于opencv人脸识别的员工考勤系统,作者某双一流A类大学里的一流学生,写于2018/09/,python课设期间. 源代码详细解释请关注微信公众号: ...
- python读取视频流做人脸识别_python实现图片,视频人脸识别(opencv版)
图片人脸识别 import cv2 filepath = "img/xingye-1.png" img = cv2.imread(filepath) # 读取图片 gray = c ...
- 用Python实现简单的人脸识别,10分钟(附源码)
前言 今天,我们用Python实现简单的人脸识别技术! Python里,简单的人脸识别有很多种方法可以实现,依赖于python胶水语言的特性,我们通过调用包可以快速准确的达成这一目的.这里介绍的是准确 ...
- 10分钟手把手教你运用Python实现简单的人脸识别
欲直接下载代码文件,关注我们的公众号哦!查看历史消息即可! 前言:让我的电脑认识我 我的电脑只有认识我,才配称之为我的电脑! 今天,我们用Python实现高大上的人脸识别技术! Python里,简单的 ...
- python人脸识别毕业设计-Python基于Dlib的人脸识别系统的实现
之前已经介绍过人脸识别的基础概念,以及基于opencv的实现方式,今天,我们使用dlib来提取128维的人脸嵌入,并使用k临近值方法来实现人脸识别. 人脸识别系统的实现流程与之前是一样的,只是这里我们 ...
最新文章
- 关于Redis的使用!
- Java虚拟机JVM学习05 类加载器的父委托机制
- java 检查pos机状态_POS机故障大全及排查方法
- 加固工程验收规范50550_石家庄栾城县厂房梁柱加固施工队规范作业-建筑加固
- 【初涉C语言】程序员欢迎来到C语言的世界!
- Cisco交换机链路聚合
- python列表去括号_python的常用序列
- ios 替换数组中元素_leetcode169 数组中的主要元素
- Ubuntu 安装 CLI 并运行 ASP.NET Core 1.0
- 30岁学python有前途吗-为什么做大数据一定要学Python?
- Linux shell__文件操作
- 远端异步调用事件结果
- Chrome去广告插件-Adblock Plus
- iOS测试技巧:GPX文件修改经纬度
- 如何压缩图片呢?这两种方法很管用
- 信息炸弹——Message Boom
- 静态手绘图-屁民科普
- 如何使用Clonezilla克隆Windows硬盘
- 微信公众号调取相册和摄像头功能,实现图片上传
- 嘉兴 机器人仓库 菜鸟_菜鸟在嘉兴推出全新智能仓 宣布将在双11启用超级机器人仓群...
热门文章
- 让div填满剩下的空间
- 论文学习——洪水预报实时校正技术研究进展
- Oracle中和计算总工资,Oracle求部门员工工资占总工资的比率
- 一阶电路暂态响应的结果分析。_第八讲 线性电路的过渡过程分析二
- 用certbot申请证书,自动更新
- 华硕路由器WOL局域网唤醒失效解决方案
- 解决某些MySQL数据库的表没了,建数据库也建不了的情况
- 服务器要输入exit才会读系统,脚本经典小窍门
- 情人辞职信 [搞笑,也来个好玩的乐一乐]
- 四色菊皇家大学 SiSaKet Rajabhat University (SSKRU)