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中遍历文件的3个方法
Sep 02 Python
python笔记:mysql、redis操作方法
Jun 28 Python
手把手教你python实现SVM算法
Dec 27 Python
解决python读取几千万行的大表内存问题
Jun 26 Python
python3解析库pyquery的深入讲解
Jun 26 Python
Python变量类型知识点总结
Feb 18 Python
树莓派实现移动拍照
Jun 22 Python
python删除列表元素的三种方法(remove,pop,del)
Jul 22 Python
修改 CentOS 6.x 上默认Python的方法
Sep 06 Python
Anconda环境下Vscode安装Python的方法详解
Mar 29 Python
python virtualenv虚拟环境配置与使用教程详解
Jul 13 Python
为了顺利买到演唱会的票用Python制作了自动抢票的脚本
Oct 16 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 UBB 解析实现代码
2011/11/27 PHP
微信公众平台接口开发入门示例
2014/12/24 PHP
PHP中的类型约束介绍
2015/05/11 PHP
windows平台中配置nginx+php环境
2015/12/06 PHP
在WordPress中使用wp-cron插件来设置定时任务
2015/12/10 PHP
PHP多个图片压缩成ZIP的方法
2020/08/18 PHP
PHP实现网站应用微信登录功能详解
2019/04/11 PHP
laravel 使用事件系统统计浏览量的实现
2019/10/16 PHP
如何在Laravel5.8中正确地应用Repository设计模式
2019/11/26 PHP
JS模拟多线程
2007/02/07 Javascript
jquery中输入验证中一个不错的效果
2010/08/21 Javascript
javascript学习笔记(五) Array 数组类型介绍
2012/06/19 Javascript
JavaScript伸缩的菜单简单示例
2013/12/03 Javascript
解析prototype,JQuery中跳出each循环的方法
2013/12/12 Javascript
sogou地图API用法实例教程
2014/09/11 Javascript
JS实现的表头列头固定页面功能示例
2017/01/10 Javascript
vue axios 在页面切换时中断请求方法 ajax
2018/03/05 Javascript
Servlet3.0与纯javascript通过Ajax交互的实例详解
2018/03/18 Javascript
H5+C3+JS实现双人对战五子棋游戏(UI篇)
2020/05/28 Javascript
微信小程序实现基于三元运算验证手机号/姓名功能示例
2019/01/19 Javascript
浅谈Vue CLI 3结合Lerna进行UI框架设计
2019/04/14 Javascript
原生js生成图片验证码
2020/10/11 Javascript
[12:29]《一刀刀一天》之DOTA全时刻19:蝙蝠骑士田伯光再度不举
2014/06/10 DOTA
解决pyqt中ui编译成窗体.py中文乱码的问题
2016/12/23 Python
Python中字典的setdefault()方法教程
2017/02/07 Python
python中import与from方法总结(推荐)
2019/03/21 Python
css3中用animation的steps属性制作帧动画
2019/04/25 HTML / CSS
青年创业培训欢迎词
2014/01/08 职场文书
公司经理任命书
2014/06/05 职场文书
后勤管理员岗位职责
2014/08/27 职场文书
公司新人试用期自我评价
2014/09/17 职场文书
婚庆开业庆典主持词
2015/06/30 职场文书
导游词之湖北武当山
2019/09/23 职场文书
小米11和iphone12哪个值得买?小米11对比iphone12评测
2021/04/21 数码科技
MySQL8.0.24版本Release Note的一些改进点
2021/04/22 MySQL
JS高级程序设计之class继承重点详解
2022/07/07 Javascript