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下尝试多线程编程
Apr 28 Python
剖析Python的Tornado框架中session支持的实现代码
Aug 21 Python
Python面向对象特殊成员
Apr 24 Python
python实现简易通讯录修改版
Mar 13 Python
python保存二维数组到txt文件中的方法
Nov 15 Python
python 环境搭建 及python-3.4.4的下载和安装过程
Jul 20 Python
python 并发编程 多路复用IO模型详解
Aug 20 Python
详解python uiautomator2 watcher的使用方法
Sep 09 Python
django 前端页面如何实现显示前N条数据
Mar 16 Python
python实现按键精灵找色点击功能教程,使用pywin32和Pillow库
Jun 04 Python
Python txt文件如何转换成字典
Nov 03 Python
python中编写函数并调用的知识点总结
Jan 13 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
转换中文日期的PHP程序
2006/10/09 PHP
使用PHP数组实现无限分类,不使用数据库,不使用递归.
2006/12/09 PHP
php创建桌面快捷方式实现方法
2015/12/31 PHP
thinkphp5修改view到根目录实例方法
2019/07/02 PHP
laravel 框架结合关联查询 when()用法分析
2019/11/22 PHP
特殊字符、常规符号及其代码对照表
2006/06/26 Javascript
用于节点操作的API,颠覆原生操作HTML DOM节点的API
2010/12/11 Javascript
node.js中的http.createClient方法使用说明
2014/12/15 Javascript
AngularJS的内置过滤器详解
2015/05/14 Javascript
Javascript编程之继承实例汇总
2015/11/28 Javascript
BootstrapTable+KnockoutJS自定义T4模板快速生成增删改查页面
2016/08/01 Javascript
canvas知识总结
2017/01/25 Javascript
微信小程序 setData使用方法及常用错误解决办法
2017/05/11 Javascript
websocket+node.js实现实时聊天系统问题咨询
2017/05/17 Javascript
cocos creator Touch事件应用(触控选择多个子节点的实例)
2017/09/10 Javascript
Angular实现的日程表功能【可添加及隐藏显示内容】
2017/12/27 Javascript
关于vue面试题汇总
2018/03/20 Javascript
[04:45]DOTA2上海特级锦标赛主赛事第四日RECAP
2016/03/06 DOTA
详谈在flask中使用jsonify和json.dumps的区别
2018/03/26 Python
对Python多线程读写文件加锁的实例详解
2019/01/14 Python
centos 安装Python3 及对应的pip教程详解
2019/06/28 Python
CSS3 translate导致字体模糊的实例代码
2019/08/30 HTML / CSS
CSS3实现时间轴特效
2020/11/02 HTML / CSS
长安大学毕业生自我鉴定
2014/01/17 职场文书
自我鉴定注意事项
2014/01/19 职场文书
大学生学习2014全国两会心得体会
2014/03/13 职场文书
大专生自荐书范文
2014/06/22 职场文书
学习雷锋标语
2014/06/25 职场文书
优秀员工推荐材料
2014/12/20 职场文书
遗嘱继承权公证书
2015/01/26 职场文书
烟台的海导游词
2015/02/02 职场文书
开会通知短信大全
2015/04/20 职场文书
Python入门之基础语法详解
2021/05/11 Python
GitHub上77.9K的Axios项目有哪些值得借鉴的地方详析
2021/06/15 Javascript
mysql insert 存在即不插入语法说明
2022/03/25 MySQL
SQL Server数据库的三种创建方法汇总
2023/05/08 MySQL