Python简单人脸识别,可调摄像头,基础入门,先简单了解一下吧

#1导入框架
import cv2#2读取图片
image=cv2.imread("E:/PY_Nxj/img/1.jpg")

# 3.加载人脸模型 CascadeClassifier(级联分类器)
face_model=cv2.CascadeClassifier("E:/PY_Nxj/img/facemodel.xml")

#4图片进行灰度处理
gray=cv2.cvtColor(image, cv2.COLOR_RGB2GRAY)

#5检查人脸
faces = face_model.detectMultiScale(gray)

6#标记人脸
for (x,y,w,h) in faces:
    cv2.rectangle(image,(x,y),(x+w,y+h),(255,0,0),5)

# 7显示图片
cv2.imshow("lal",image)
#8暂停窗口
cv2.waitKey(0) #9销毁窗口 cv2.destoryAllWindows()

 读取图片,因为PS效果可以看到,当灰度降低时,人脸会显现出来,所以利用人脸模型降低灰度从而找出人脸几个边缘点,从而确定出标记点,即举行的左上角坐标和高度,然后绘制矩形并显示出来,

waitKey(0)指的是一直终止,waitKey(5)就是终止5微秒的意思,
"""#1导入框架
import cv2
import os

#2读取图片
image=cv2.imread("E:/pycharm_python/img/1.jpeg")

# 3.加载人脸模型 CascadeClassifier(级联分类器)
face_model=cv2.CascadeClassifier("E:/pycharm_python/img/facemodel.xml")

#4图片进行灰度处理
gray=cv2.cvtColor(image, cv2.COLOR_RGB2GRAY)

#5检查人脸
faces = face_model.detectMultiScale(gray)

6#标记人脸
for (x,y,w,h) in faces:
    cv2.rectangle(image,(x,y),(x+w,y+h),(255,0,0),5)

# 7显示图片
cv2.imshow("lal",image)

cv2.waitKey(0)

cv2.destoryAllWindows()
"""
#1导入框架
import cv2
#2加载人脸模型
face_model=cv2.CascadeClassifier("E:/pycharm_python/img/facemodel.xml")
#3打开摄像头
capture=cv2.VideoCapture(0)
#4获取摄像头实时画面
while True:
    #5读取摄像头当前这一帧的画面 True或False
    ret, img = capture.read()
    #6灰度处理
    gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
    #7检查人脸
    faces = face_model.detectMultiScale(gray,1.1,3,0,(120,120))
    #8标记人脸
    for (x, y, w, h) in faces:
        cv2.rectangle(img, (x, y), (x + w, y + h), (255, 0, 0), 5)
    #9显示图片
    cv2.imshow("My_按q退出",img)
    #10暂停窗口
    if cv2.waitKey(5) &0xFF==ord('q'):
        break
#11释放资源
capture.release()
#12销毁窗口
cv2.destoryAllWindows()

 需要注意的是

1安装pip install opencv-python

2图片和模型都需要安装在根目录下,简单说就是Pycharm再建一个文件夹,放那里面,否则读取不到

3模型在我的网盘中,也是别的老师给我的... 人脸识别!

网盘中的模型在open-cv的data文件夹下有 

posted @ 2019-06-11 22:35  程序杰杰  阅读(1195)  评论(0编辑  收藏  举报