简单的 Python 人脸识别实例
原文链接:http://www.one2know.cn/python7/
案例一 导入图片
- 思路: 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()
简单的 Python 人脸识别实例的更多相关文章
- 总结几个简单好用的Python人脸识别算法
原文连接:https://mp.weixin.qq.com/s/3BgDld9hILPLCIlyysZs6Q 哈喽,大家好. 今天给大家总结几个简单.好用的人脸识别算法. 人脸识别是计算机视觉中比较常 ...
- OpenCV+python 人脸识别
首先给大家推荐一本书:机器学习算法原理与编程实践 本文内容全部转载于书中,相当于一个读书笔记了吧 绪论 1992年麻省理工学院通过实验对比了基于结构特征的方法与基于模版匹配的方法,发现模版匹配的方法要 ...
- Python人脸识别最佳教材典范,40行代码搭建人脸识别系统!
Face Id是一款高端的人脸解锁软件,官方称:"在一百万张脸中识别出你的脸."百度.谷歌.腾讯等各大企业都花费数亿来鞭策人工智能的崛起,而实际的人脸识别技术是否有那么神奇? 绿帽 ...
- python人脸识别
需要掌握知识python,opencv和机器学习一类的基础 过一段时间代码上传github,本人菜j一个,虽然是我自己谢的,也有好多不懂,或者我这就是错误方向 链接:https://pan.baidu ...
- 【python人脸识别】使用opencv识别图片中的人脸
概述: OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库 为什么有OpenCV? 计算机视觉市场巨大而且持续增长,且这方面没有标准API,如今的计算机视觉软件大概有以下三种: 1.研究 ...
- Python人脸识别 + 手机推送,老板来了你就会收到短信提示
- python人脸识别项目face-recognition
该项目基于Github上面的开源项目人脸识别face-recognition,主要是对图像和视频中的人脸进行识别,在开源项目给出的例子基础上对视频人脸识别的KNN算法进行了实现. 0x1 工程项目结构 ...
- python 人脸识别试水(一)
1.安装python,在这里我的版本是python 3.6 2.安装pycharm,我的版本是pycharm 2017 3.安装pip pip 版本10 4.安装 numpy :pip ins ...
- python 人脸识别
"""Performs face alignment and calculates L2 distance between the embeddings of image ...
随机推荐
- 2. Java基本数据类型及运算符
1. 计算机数制 1.1 计算机信息单位 阅读二进制.字节.字长,回答以下问题: 1. 计算机中采用什么进制存储信息,它的优点是什么 2. 什么是位.字节 3. K.M.G.T.P之间的转换 4. 什 ...
- 脱壳0-FSG壳-详细流程
目录 @ 1 拿到当前加壳程序,用exeinfo/PeID 看一下信息 可以看出是很老的壳FSG. 分析: Entry Point : 000000154,熟悉PE结构的知道,入口点(代码)揉进P ...
- 【iOS】Interface Builder 预览
Interface Builder 为最顶层视图提供了 Simulated Metrics,预览用户界面的各种外观设置效果,例如顶部有导航栏或底部有标签栏的效果,如图所示:
- Linux内核实战(二)- 操作系统概览
不知道你有没有产生过这些疑问: 桌面上的图标到底是啥?凭啥我在鼠标上一双击,就会出来一些不可描述的画面?都是从哪里跑出来的? 凭什么我在键盘上噼里啪啦地敲,某个位置就会显示我想要的那些字符? 电脑怎么 ...
- 案例实战:每日上亿请求量的电商系统,JVM年轻代垃圾回收参数如何优化?
出自:http://1t.click/7TJ 目录: 案例背景引入 特殊的电商大促场景 抗住大促的瞬时压力需要几台机器? 大促高峰期订单系统的内存使用模型估算 内存到底该如何分配? 新生代垃圾回收优化 ...
- C# Winform 自定义控件——竖着的Navbar
效果: 描述: 这是一个可折叠的菜单导航,主要是由panel.picturebox.label完成,界面的颜色用来区分一下各个组合控件,便于调试. 首先,首先是ImageButton: 这个是由Pic ...
- 伪分布式Spark + Hive on Spark搭建
Spark大数据平台有使用一段时间了,但大部分都是用于实验而搭建起来用的,搭建过Spark完全分布式,也搭建过用于测试的伪分布式.现在是写一遍随笔,记录一下曾经搭建过的环境,免得以后自己忘记了.也给和 ...
- java并发编程(三)----线程的同步
在现实开发中,我们或多或少的都经历过这样的情景:某一个变量被多个用户并发式的访问并修改,如何保证该变量在并发过程中对每一个用户的正确性呢?今天我们来聊聊线程同步的概念. 一般来说,程序并行化是为了获得 ...
- Rootkit与后门隐藏技术
目录 简介 linux虚拟文件系统VFS rootkit的功能 隐藏文件 基本方法 高级方法 系统调用流程 hook sys_getdents sys_getdents的调用树 最底层的方法 隐藏进程 ...
- 详解慢查询日志的相关设置及mysqldumpslow工具
概述 mysql慢查询日志是mysql提供的一种日志记录,它是用来记录在mysql中相应时间超过阈值的语句,就是指运行时间超过long_query_time值的sql,会被记录在慢查询日志中.long ...