人脸识别之人脸检测(一)

人脸识别之人脸检测(一)
人脸识别之拍照保存(二)
人脸识别之数据训练(三)
人脸识别之成果检验(四)
建立人脸识别,首先要下载opencv,在pycharm中的opencv,只能满足一部分需要,不能达到识别。
1.下载opencv。官网上的太慢。所以用百度网盘(只有windows版本的)

https://pan.baidu.com/s/1vI5SQsd_c-RHRV3W7N0Ibw?pwd=v6e1 
提取码:v6e1

解压后点击文件,按提示直接安装即可。
2.单个人脸识别(解释在代码中)

import cv2 as cv


def face_detect():
    gary = cv.cvtColor(img,cv.COLOR_BGR2GRAY)   # 灰度转换
    # 人脸识别要导入的opencv的文件,切记windows中的文件路径用/,或者\\
    face_detect = cv.CascadeClassifier('D:/OPENCV(WIN)/opencv/sources/data/haarcascades/haarcascade_frontalface_alt2.xml')
    # 括号中每个参数的作用(图像,每次遍历后缩放的倍数,识别次数, ,人脸最小,和人脸最大)
    face = face_detect.detectMultiScale(gary,1.01,5,0,(100,100),(300,300))
    for x,y,w,h in face:   # 绘制识别人脸区域的大小。
        cv.rectangle(img,(x,y),(x+w,y+h),color=(0,0,255),thickness=2)
    cv.imshow('result',img)   # 显示图片
# 读取图像
img = cv.imread('face1.jpg')
# 检测函数
face_detect()
# 当识别到键盘输入英文的q字母时退出
while True:
    if ord('q') == cv.waitKey(0):
        break
# 释放内存
cv.destroyAllWindows()

2.多个人脸识别(将opencv中的识别的文件路径修改)

import cv2 as cv


def face_detect():
    gary = cv.cvtColor(img,cv.COLOR_BGR2GRAY)   # 灰度转换
    # 人脸识别要导入的opencv的文件,切记windows中的文件路径用/,或者\\
     face_detect = cv.CascadeClassifier('D:/opencv/opencv/sources/data/haarcascades/haarcascade_frontalface_default.xml')
    # 括号中每个参数的作用(图像,每次遍历后缩放的倍数,识别次数, ,人脸最小,和人脸最大)
    face = face_detect.detectMultiScale(gary,1.01,5,0,(100,100),(300,300))
    for x,y,w,h in face:   # 绘制识别人脸区域的大小。
        cv.rectangle(img,(x,y),(x+w,y+h),color=(0,0,255),thickness=2)
    cv.imshow('result',img)   # 显示图片
# 读取图像
img = cv.imread('face1.jpg')
# 检测函数
face_detect()
# 当识别到键盘输入英文的q字母时退出
while True:
    if ord('q') == cv.waitKey(0):
        break
# 释放内存
cv.destroyAllWindows()

3.视频检测人脸

import cv2 as cv


def face_detect_demo(img):
    gary = cv.cvtColor(img,cv.COLOR_BGR2GRAY)
    face_detect = cv.CascadeClassifier('D:/opencv(WIN)/opencv/sources/data/haarcascades/haarcascade_frontalface_default.xml')
    face = face_detect.detectMultiScale(gary)
    for x,y,w,h in face:
        cv.rectangle(img,(x,y),(x+w,y+h),color=(0,0,255),thickness=2)
    cv.imshow('result',img)
# 视频路径
path = 'D:\\Pycharm\\other\\TEST\\mycodetest\\opencv\\1.mp4'
cap = cv.VideoCapture(path)
# 循环
while True:
    flag,frame = cap.read()
    if not flag:
        break
    face_detect_demo(frame)
    if ord('q') == cv.waitKey(1):
        break
# 释放内存
cv.destroyAllWindows()
# 释放摄像头
cap.release()
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

如鸿毛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值