简单的Python人脸识别系统
作者:鹏懿如斯 发布时间:2023-01-26 23:31:57
标签:Python,人脸识别
案例一 导入图片
思路: 1.导入库 2.加载图片 3.创建窗口 4.显示图片 5.暂停窗口 6.关闭窗口
# 1.导入库
import cv2
# 2.加载图片
img = cv2.imread('a.png')
# 3.创建窗口
cv2.namedWindow('window 1 haha')
# 4.显示图片
cv2.imshow('window 1',img)
# 5.暂停窗口
cv2.waitKey(0)
# 6.关闭窗口
cv2.destroyAllWindows()
案例二 在图片上添加人脸识别
思路: 1.导入库 2.加载图片 3.加载人脸模型 4.调整图片灰度 5.检查人脸 6.标记人脸 7.创建窗口 8.显示图片 9.暂停窗口 10.关闭窗口
# 1.导入库
import cv2
# 2.加载图片
img = cv2.imread('a.png')
# 3.加载人脸模型,opencv官网下载
face = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
# 4.调整图片灰度:没必要识别颜色,灰度可以提高性能
gray = cv2.cvtColor(img,cv2.COLOR_RGB2GRAY)
# 5.检查人脸
faces = face.detectMultiScale(gray)
# 6.标记人脸for (x,y,w,h) in faces:
# 里面有4个参数 1.写图片 2.坐标原点 3.识别大小 4.颜色 5.线宽
cv2.rectangle(img,(x,y),(x+w,y+h),(0,255,0),4)
# 7.创建窗口
cv2.namedWindow('window 1 haha')
# 8.显示图片
cv2.imshow('window 1', img)
# 9.暂停窗口
cv2.waitKey(0)
# 10.关闭窗口
cv2.destroyAllWindows()
案例三 调用摄像头
思路: 1.导入库 2.打开摄像头 3.获取摄像头实时画面 4.释放资源 5.关闭窗口
# 1.导入库
import cv2
# 2.打开摄像头
capture = cv2.VideoCapture(0)
# 3.获取摄像头实时画面
cv2.namedWindow('camera')
while True:
#3.1 获取摄像头的帧画面
ret,frame = capture.read()
#3.2 显示图片(渲染画面)
cv2.imshow('window 1',frame)
#3.3 暂停窗口
if cv2.waitKey(5) & 0xFF == ord('q'):
break
# 4.释放资源
capture.release()
# 5.关闭窗口
cv2.destroyAllWindows()
案例四 摄像头识别人脸
思路: 1.导入库 2.加载人脸模型 3.打开摄像头 4.创建窗口 5.获取摄像头实时画面 6.释放资源 7.关闭窗口
# 1.导入库
import cv2
# 2.加载人脸模型
face = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
# 3.打开摄像头
capture = cv2.VideoCapture(0)
# 4.创建窗口cv2.namedWindow('window 1')
# 5.获取摄像头实时画面
while True:
# 5.1 获取摄像头的帧画面
ret,frame = capture.read()
# 5.2 图片灰度调整
gray = cv2.cvtColor(frame,cv2.COLOR_RGB2GRAY)
# 5.3 检查人脸
faces = face.detectMultiScale(gray)
# 5.4 标记人脸
for (x, y, w, h) in faces:
# 里面有4个参数 1.写图片 2.坐标原点 3.识别大小 4.颜色 5.线宽
cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 4)
# 5.5 显示图片
cv2.imshow('camera',frame)
# 5.6 暂停窗口
if cv2.waitKey(5) & 0xFF == ord('q'):
break
# 6.释放资源
capture.release()
# 7.关闭窗口
cv2.destroyAllWindows()
来源:https://www.cnblogs.com/peng8098/p/python_basis_7.html
0
投稿
猜你喜欢
- 先 Create table 吧create table emp(id int not null primary key,name varc
- shutil --High-level file operations 高级的文件操作模块os模块提供了对目录或者文件的新建/删除/查看文件
- 可以利用in运算符来进行判断,如果在指定的序列中找到值返回True,否则返回False。运算符not in表示如果在指定的序列中没有找到值返
- 在Twinsen Liang的博客上看到一篇名为语义化单单的限定在html么?的文章,文中主要是提及了CSS的命名规则,仔细阅读后,我认为这
- 前言优化随机森林算法,正确率提高1%~5%(已经有90%+的正确率,再调高会导致过拟合)论文当然是参考的,毕竟出现早的算法都被人研究烂了,什
- 函数调用方法:numpy.zeros(shape, dtype=float)各个参数意义:shape:创建的新数组的形状(维度)。dtype
- https://discuss.pytorch.org/t/how-to-modify-the-final-fc-layer-based-o
- 前言最近实习任务为黑烟检测,想起了可以尝试用yolov5来跑下,之前一直都是用的RCNN系列,这次就试试yolo系列。一、安装pytorch
- 1、上下文管理的使用场景凡是要在代码块前后插入代码的场景,这点和装饰器类似。资源管理类:申请和回收,包括打开文件、网络连接、数据库连接等;权
- 1:创建用户 create temporary tablespace user_temp tempfile 'D:\app\topw
- 记得自己学习的心得,为了自己以后调试方便些。1.操作步骤:1.1 添加断点直接在标记处点击鼠标左键即可。(删除断点只需再点击断点处即可)1.
- 一.ajax介绍1、ajax的含义Ajax全称“Async Javascript And XML”即:异步的javascript和XML。它
- 本文介绍了Python实现快速傅里叶变换的方法(FFT),分享给大家,具体如下:这里做一下记录,关于FFT就不做介绍了,直接贴上代码,有详细
- 前天由于某些原因需要利用C++调用PyTorch,于是接触到了LibTorch,配了两天最终有了一定的效果,于是记录一下。环境PyTorch
- 在python中,可以把for循环写在一行,生成一个新的列表,使用起来非常方便,下面举几个简单例子体会一下。1.简单的for...[if].
- 前言在github中经常可以看到下面的日历图,可以用来表示每一天在github上的活跃程度。类似的方法也可以用到空气质量的可视化方式中来,只
- 一、标识符何为标识符?标识符是用来标识某个实体的一个符号。在编程语言中,标识符是计算机语言中作为名字的有效字符串集合。标识符是用户编程时使用
- 本文实例讲述了Python通过TensorFLow进行线性模型训练原理与实现方法。分享给大家供大家参考,具体如下:1、相关概念例如要从一个线
- 阅读上一篇:[译]Javascript风格要素(一) 我们使用习惯用法可以使我们的意图更加的清晰和简洁。使用==时,当心强制转换考虑下面函数
- 本文实例讲述了获取django框架orm query执行的sql语句实现方法。分享给大家供大家参考,具体如下:利用Django orM 可以