python实现图片,视频人脸识别(opencv版)


Posted in Python onNovember 18, 2020

图片人脸识别

import cv2

filepath = "img/xingye-1.png"
img = cv2.imread(filepath) # 读取图片
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 转换灰色

# OpenCV人脸识别分类器
classifier = cv2.CascadeClassifier(
 "C:\Python36\Lib\site-packages\opencv-master\data\haarcascades\haarcascade_frontalface_default.xml"
)
color = (0, 255, 0) # 定义绘制颜色
# 调用识别人脸
faceRects = classifier.detectMultiScale(
 gray, scaleFactor=1.2, minNeighbors=3, minSize=(32, 32))
if len(faceRects): # 大于0则检测到人脸
 for faceRect in faceRects: # 单独框出每一张人脸
 x, y, w, h = faceRect
 # 框出人脸
 cv2.rectangle(img, (x, y), (x + h, y + w), color, 2)
 # 左眼
 cv2.circle(img, (x + w // 4, y + h // 4 + 30), min(w // 8, h // 8),
   color)
 #右眼
 cv2.circle(img, (x + 3 * w // 4, y + h // 4 + 30), min(w // 8, h // 8),
   color)
 #嘴巴
 cv2.rectangle(img, (x + 3 * w // 8, y + 3 * h // 4),
   (x + 5 * w // 8, y + 7 * h // 8), color)

cv2.imshow("image", img) # 显示图像
c = cv2.waitKey(10)

cv2.waitKey(0)
cv2.destroyAllWindows()

视频人脸识别

# -*- coding:utf-8 -*-
# OpenCV版本的视频检测
import cv2


# 图片识别方法封装
def discern(img):
 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
 cap = cv2.CascadeClassifier(
 "C:\Python36\Lib\site-packages\opencv-master\data\haarcascades\haarcascade_frontalface_default.xml"
 )
 faceRects = cap.detectMultiScale(
 gray, scaleFactor=1.2, minNeighbors=3, minSize=(50, 50))
 if len(faceRects):
 for faceRect in faceRects:
  x, y, w, h = faceRect
  cv2.rectangle(img, (x, y), (x + h, y + w), (0, 255, 0), 2) # 框出人脸
 cv2.imshow("Image", img)


# 获取摄像头0表示第一个摄像头
cap = cv2.VideoCapture(0)
while (1): # 逐帧显示
 ret, img = cap.read()
 # cv2.imshow("Image", img)
 discern(img)
 if cv2.waitKey(1) & 0xFF == ord('q'):
 break
cap.release() # 释放摄像头
cv2.destroyAllWindows() # 释放窗口资源

以上就是python实现图像,视频人脸识别(opencv版)的详细内容,更多关于python 人脸识别的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python搭建简易服务器分析与实现
Dec 15 Python
Python中for循环详解
Jan 17 Python
Python subprocess模块详细解读
Jan 29 Python
Python global全局变量函数详解
Sep 18 Python
关于Python核心框架tornado的异步协程的2种方法详解
Aug 28 Python
PyQt5+Caffe+Opencv搭建人脸识别登录界面
Aug 28 Python
pymysql 开启调试模式的实现
Sep 24 Python
python3 常见解密加密算法实例分析【base64、MD5等】
Dec 19 Python
Python 简单计算要求形状面积的实例
Jan 18 Python
python 使用递归实现打印一个数字的每一位示例
Feb 27 Python
python如何支持并发方法详解
Jul 25 Python
matplotlib之pyplot模块之标题(title()和suptitle())
Feb 22 Python
最新pycharm安装教程
Nov 18 #Python
如何利用Python写个坦克大战
Nov 18 #Python
python3访问字典里的值实例方法
Nov 18 #Python
让你相见恨晚的十个Python骚操作
Nov 18 #Python
python搜索算法原理及实例讲解
Nov 18 #Python
python的数学算法函数及公式用法
Nov 18 #Python
python3中TQDM库安装及使用详解
Nov 18 #Python
You might like
YB217、YB235、YB400浅听
2021/03/02 无线电
《PHP边学边教》(01.开篇――准备工作)
2006/12/13 PHP
php利用iframe实现无刷新文件上传功能的代码
2011/09/29 PHP
php array的学习笔记
2012/05/10 PHP
解析:通过php socket并借助telnet实现简单的聊天程序
2013/06/18 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
2017/11/14 PHP
CheckBox 如何实现全选?
2006/06/23 Javascript
javascript为下拉列表动态添加数据项
2014/05/23 Javascript
jQuery中:empty选择器用法实例
2014/12/30 Javascript
JavaScript 表单处理实现代码
2015/04/13 Javascript
jQuery实现网页抖动的菜单抖动效果
2015/08/07 Javascript
js+canvas简单绘制圆圈的方法
2016/01/28 Javascript
Bootstrap Paginator分页插件与ajax相结合实现动态无刷新分页效果
2016/05/27 Javascript
jQuery之简单的表单验证实例
2016/07/07 Javascript
Vue的土著指令和自定义指令实例详解
2018/02/04 Javascript
JS实现快递单打印功能【推荐】
2018/06/21 Javascript
webpack中如何加载静态文件的方法步骤
2019/05/18 Javascript
jquery树形插件zTree高级使用详解
2019/08/16 jQuery
python使用wmi模块获取windows下硬盘信息的方法
2015/05/15 Python
浅析python中的分片与截断序列
2016/08/09 Python
python嵌套字典比较值与取值的实现示例
2017/11/03 Python
Pyqt5实现英文学习词典
2019/06/24 Python
解决pycharm上的jupyter notebook端口被占用问题
2019/12/17 Python
Python3.x+pyqtgraph实现数据可视化教程
2020/03/14 Python
python基于socket函数实现端口扫描
2020/05/28 Python
Python Selenium自动化获取页面信息的方法
2020/08/31 Python
python基于Kivy写一个图形桌面时钟程序
2021/01/28 Python
使用CSS3代码绘制可爱的Hello Kitty猫
2016/08/03 HTML / CSS
css3实现的多级渐变下拉菜单导航效果代码
2015/08/31 HTML / CSS
英国剑桥包中文官网:The Cambridge Satchel Company中国
2018/11/06 全球购物
Silk Therapeutics官网:清洁、抗衰老护肤品
2020/08/12 全球购物
String是最基本的数据类型吗?
2013/06/13 面试题
幼教个人求职信范文
2013/12/02 职场文书
教学质量评估实施方案
2014/03/17 职场文书
一份恶作剧的检讨书
2014/09/13 职场文书
vue实现简易音乐播放器
2022/08/14 Vue.js