代码拉取完成,页面将自动刷新
同步操作将从 大奥特曼打小怪兽/opencv 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
# -*- coding: utf-8 -*-
"""
Created on Thu Aug 16 10:32:55 2018
@author: lenovo
"""
'''
人脸检测
'''
import cv2
import numpy as np
#1.静态图像中的人脸检测
def StaticDetect(filename):
#创建一个级联分类器 加载一个 .xml 分类器文件. 它既可以是Haar特征也可以是LBP特征的分类器.
face_cascade = cv2.CascadeClassifier('./haarcascades/haarcascade_frontalface_default.xml')
#加载图像
img = cv2.imread(filename)
#转换为灰度图
gray_img = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
#进行人脸检测,传入scaleFactor,minNegihbors,分别表示人脸检测过程中每次迭代时图像的压缩率以及
#每个人脸矩形保留近似数目的最小值
#返回人脸矩形数组
faces = face_cascade.detectMultiScale(gray_img,1.3,5)
for (x,y,w,h) in faces:
#在原图像上绘制矩形
img = cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
cv2.namedWindow('Face Detected!')
cv2.imshow('Face Detected!',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
#2、视频中的人脸检测
def DynamicDetect():
'''
打开摄像头,读取帧,检测帧中的人脸,扫描检测到的人脸中的眼睛,对人脸绘制蓝色的矩形框,对人眼绘制绿色的矩形框
'''
#创建一个级联分类器 加载一个 .xml 分类器文件. 它既可以是Haar特征也可以是LBP特征的分类器.
face_cascade = cv2.CascadeClassifier('./haarcascades/haarcascade_frontalface_default.xml')
eye_cascade = cv2.CascadeClassifier('./haarcascades/haarcascade_eye.xml')
#打开摄像头
camera = cv2.VideoCapture(0)
cv2.namedWindow('Dynamic')
while(True):
#读取一帧图像
ret,frame = camera.read()
#判断图片读取成功?
if ret:
gray_img = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
#人脸检测
faces = face_cascade.detectMultiScale(gray_img,1.3,5)
for (x,y,w,h) in faces:
#在原图像上绘制矩形
cv2.rectangle(frame,(x,y),(x+w,y+h),(255,0,0),2)
roi_gray = gray_img[y:y+h,x:x+w]
#眼睛检测
eyes = eye_cascade.detectMultiScale(roi_gray,1.03,5,0,(40,40))
eye_cascade.detectMultiScale()
for (ex,ey,ew,eh) in eyes:
cv2.rectangle(frame,(ex+x,ey+y),(x+ex+ew,y+ey+eh),(0,255,0),2)
cv2.imshow('Dynamic',frame)
#如果按下q键则退出
if cv2.waitKey(100) & 0xff == ord('q') :
break
camera.release()
cv2.destroyAllWindows()
if __name__=='__main__':
#filename = './image/img23.jpg'
#StaticDetect(filename)
DynamicDetect()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。