python3.6.3+opencv3.3.0学习笔记五--动态人脸捕获
来源:互联网 发布:东莞农村商业银行网络 编辑:程序博客网 时间:2024/05/29 02:00
步骤
- 载入cv2
- 捕获摄像头
- 获取第一帧图像
- 定义人脸识别信息
- 开始循环
- 对第一帧图像进行识别
- 标示脸部特征和方框
- 显示帧
- 如果一切正常则读入下一帧
- 循环直至捕获失败
- 如果键入‘q’退出循环
循环结束清零
程序
import cv2import numpy as npcv2.namedWindow("Face_Detect") #定义一个窗口cap=cv2.VideoCapture(0) #捕获摄像头图像success,frame=cap.read() #读入第一帧classifier=cv2.CascadeClassifier("C:/opencv-3.3.0/data/haarcascades/haarcascade_frontalface_alt.xml")**#定义人脸识别的分类数据集,需要自己查找,在opencv的目录下,参考上面我的路径**while success:#如果读入帧正常 size=frame.shape[:2] image=np.zeros(size,dtype=np.float16) image=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY) cv2.equalizeHist(image,image) divisor=8 h,w=size minSize=(int(w/divisor),int(h/divisor)) #像素一定是整数,或者用w//divisor faceRects=classifier.detectMultiScale(image,1.2,2,cv2.CASCADE_SCALE_IMAGE,minSize) #人脸识别 if len(faceRects)> 0: for faceRect in faceRects: x,y,w,h=faceRect cv2.circle(frame,(x+w//2,y+h//2),min(w//2,h//2),(255,0,0),2) #圆形轮廓 cv2.circle(frame,(x+w//4,y+2*h//5),min(w//8,h//8),(0,255,0),2) #左眼轮廓 cv2.circle(frame,(x+3*w//4,y+2*h//5),min(w//8,h//8),(0,255,0),2)#右眼轮廓 cv2.circle(frame,(x+w//2,y+2*h//3),min(w//8,h//8),(0,255,0),2) #鼻子轮廓 cv2.rectangle(frame, (x, y), (x+w, y+h), (0,0,255),2) #矩形轮廓 cv2.imshow("Face_Detect",frame) #显示轮廓 success,frame=cap.read()#如正常则读入下一帧 c=chr(key&255) if c in ['q','Q',chr(27)]:#如果键入‘q’退出循环 print('exit'\n) break#退出循环 #循环结束则清零cap.release()cv2.destroyAllWindows()
运行后如下:
阅读全文
0 0
- python3.6.3+opencv3.3.0学习笔记五--动态人脸捕获
- Python3.6.3+opencv3.3.0学习笔记十四--基于分类器的动态人脸人体捕获
- python3.6.3+opencv3.3.0学习笔记十三--基于HOG的动态人体捕获
- python3.6.3+opencv3.3.0学习笔记九--动态物体检测
- python3.6.3+opencv3.3.0学习笔记一
- python3.6.3+opencv3.3.0学习笔记七--人脸识别效果实录
- python3.6.3+opencv3.3.0学习笔记八--本地视频人脸识别后另存
- opencv3.3.0+python3.6.3学习笔记十一--百度大脑人脸识别匹配
- python3.6.3+opencv3.3.0学习笔记二环境配置
- python3.6.3+opencv3.3.0学习笔记三--本地图像显示
- python3.6.3+opencv3.3.0学习笔记四--获取摄像头图像
- python3.6.3+opencv3.3.0学习笔记六--存储视频和图像
- python3.6.3+opencv3.3.0学习笔记十二--基于HOG的静态图片人体探测
- Python3.6.0+opencv3.3.0人脸检测(示例)
- opencv3.3+python3.6学习笔记十--颜色跟踪
- 《OpenCV3编程入门》学习笔记五:core组件进阶
- Python3.5.+Opencv3.3.0安装
- windows10下python3.6+opencv3.3.0安装人脸识别face_recognition库
- 汇编dos功能调用
- vijos第k优背包
- python 递归深度
- c++慕课网3
- linux 的 inode
- python3.6.3+opencv3.3.0学习笔记五--动态人脸捕获
- PortAudio+webrtc+lame实现采集降噪增益mp3
- UnicodeDecodeError: 'ascii' codec can't decode byte 0xe7 in position 0: ordinal not in range(128)错误解
- 使用Tomcat发布一个WEB项目(web,tomcat概述)
- 使用预处理器进行调试
- [LeetCode]38. Count and Say
- 集合扩展方法、委托的运算、事件
- 2017.10.11一试
- ccf 相反数