人脸识别之Python基于OpenCV

基于图片和摄像头的识别:

 

import cv2  #opencv库
 
#读取图片
image=cv2.imread('C:/Users/Pictures/mxhy.jpg')
#显示图片窗口

#cv2.imshow('faces',image)
#窗口暂停
#cv2.waitKey(0)
#销毁窗口资源

#销毁窗口

face_model=cv2.CascadeClassifier('D:/github/haarcascades/haarcascade_frontalface_alt2.xml')
#图片进行灰度处理
gray = cv2.cvtColor(image,cv2.COLOR_RGB2GRAY)
#人脸检测
faces = face_model.detectMultiScale(gray)
#标记人脸
for (x,y,w,h) in faces:
    #1.原始图片;2坐标点;3.矩形宽高 4.颜色值(RGB);5.线框
    cv2.rectangle(image,(x,y),(x+w,y+h),(0,255,0),2)
#显示图片窗口
cv2.imshow('faces',image)
#窗口暂停
cv2.waitKey(0)


cv2.destoryAllWindows()
import cv2
image=cv2.imread('C:/Users/Pictures/fbb.jpg')
face_model=cv2.CascadeClassifier('D:/haarcascades/haarcascade_frontalcatface.xml')
#打开摄像头
capcure=cv2.VideoCapture(0)
#获取摄像头实时画面
while True:
#    读取摄像头当前这一帧的画面  ret:True fase image:当前这一帧画面
   ret,image = capcure.read()
 
#  图片灰度处理
   gray = cv2.cvtColor(image,cv2.COLOR_RGB2GRAY)
# 检查人脸
   #faces=face_model.detectMultiScale(gray,1.1,3,0,(20.20))
   faces = face_model.detectMultiScale(gray,1.1,3,0,(100,100))
#标记人脸
   for (x,y,w,h) in faces:
       #矩形标记
       cv2.rectangle(image,(x,y),(x+w,y+h),(0,255,0),2)
       #显示图片
       cv2.imshow("faces in video",image)
       #暂停窗口
       if cv2.waitKey(5) & 0xFF ==ord('q'):
           break
#释放资源
capcure.release()
#销毁窗口
cv2.destroyAllWindows()

posted @ 2020-08-14 17:08  有翅膀的大象  阅读(289)  评论(0)    收藏  举报