人脸识别与人脸检测(Mac版)

简介: 笔记

一、简单的人脸识别


人脸识别作为人工智能领域的经典案例,我们使用python来实现它,从他的代码量来看,实现简单的人脸识别并不需要太多代码,这得益于python中强大的库-cv2。在运行人脸识别代码时,如果是Mac电脑,用pycharm编辑器是不能打开摄像头的,因为pycharm没有权限获取Mac的摄像头,则采取的做法是使用Mac终端的vim编辑器来运行。(Windows的我不太清楚)

代码如下:

import cv2
# 导入cv2:sudo -H pip install --ignore-installed opencv-python
# 0 代表笔记本的摄像头,(不需要打开摄像头,cv会自动打开摄像头)
video = cv2.VideoCapture(0)
while (1):
    # read返回两个值 一个 是否读取成功  一个是每一帧的视频数据
    stream, frame = video.read()
    if not stream:
        break
    # 将读取到的视频显示出来
    cv2.imshow("video", frame)
    # waitKey 可以监听键盘输入,当你把光标点击到视频的时候按下键盘就能获取到输入了哪个键,因此我这里做了监听 如果按下 q 键 则退出
    key = cv2.waitKey(2)
    if key == ord('q'):
        break
video.release()
cv2.destroyAllWindows()


二、人脸检测


同样是使用终端来运行

代码如下:

import dlib
import cv2
video = cv2.VideoCapture(0)
detector = dlib.get_frontal_face_detector()
# 用终端操作
def read_camera0():
    """
    读取电脑摄像头的视频(不需要打开摄像头,cv会自动打开摄像头)
    """
    while 1:
        stream, frame = video.read()
        if stream:
            yield frame
        else:
            print("Cannot Read Camera0")
            break
def show_camera_faces():
    """
    读取摄像头数据,显示出来加上人脸检测
    """
    frames = read_camera0()
    for image in frames:
        rgb_image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
        detect = detector(rgb_image, 1)
        for i, d in enumerate(detect):
            x1, y1, x2, y2, w, h = d.left(), d.top(), d.right() + 1, d.bottom() + 1, d.width(), d.height()
            cv2.rectangle(image, (x1, y1), (x2, y2), (255, 0, 0), 2)
        cv2.imshow("video", image)
        key = cv2.waitKey(2)
        print(key)
        if key == ord('q'):
            break
    video.release()
    cv2.destroyAllWindows()
if __name__ == '__main__':
    show_camera_faces()

人脸图片识别

代码如下:

import cv2
import dlib
picture = '/Users/caizhengjie/Desktop/蔡政洁/WechatIMG1的副本.jpeg'
detector = dlib.get_frontal_face_detector()
def add_face_from_image(image):
  imdata = cv2.imread(image)
  rgb_image = cv2.cvtColor(imdata, cv2.COLOR_BGR2RGB)
  faces = detector(rgb_image, 1)
  if len(faces) == 0:
    print("没有检测到人脸")
  else:
       print('到此就获取到了人脸数据')
if __name__ == '__main__':
    add_face_from_image(picture)



相关文章
|
计算机视觉
人脸识别活体检测之张张嘴和眨眨眼——Landmark
人脸识别活体检测之张张嘴和眨眨眼——Landmark
|
Shell Linux 计算机视觉
【Dlib】动作检测:以常见的人脸识别验证为例讲解张嘴与闭眼
【Dlib】动作检测:以常见的人脸识别验证为例讲解张嘴与闭眼
637 0
|
机器学习/深度学习 监控 算法
m基于深度学习网络的活体人脸和视频人脸识别系统matlab仿真,带GUI界面
m基于深度学习网络的活体人脸和视频人脸识别系统matlab仿真,带GUI界面
233 0
|
机器学习/深度学习 数据采集 人工智能
基于深度学习的活体人脸识别检测算法matlab仿真
基于深度学习的活体人脸识别检测算法matlab仿真
|
计算机视觉
人脸识别活体检测之张张嘴和眨眨眼——FaceServlet
人脸识别活体检测之张张嘴和眨眨眼——FaceServlet
|
机器学习/深度学习 算法 计算机视觉
yolov8人脸识别-脸部关键点检测(代码+原理)
yolov8人脸识别-脸部关键点检测(代码+原理)
|
计算机视觉
人脸识别活体检测之张张嘴和眨眨眼——Json_Parsing
人脸识别活体检测之张张嘴和眨眨眼——Json_Parsing
|
2月前
|
数据安全/隐私保护 计算机视觉 Python
人脸识别图片眨眼生成器,手机制作人脸眨眼张嘴, 代替真人刷脸软件
代码实现了基于面部特征点的人脸动画生成,包括眨眼和张嘴动作。它使用dlib进行人脸检测和特征点定位
|
2月前
|
数据安全/隐私保护 计算机视觉 Python
人脸识别图片眨眼生成器,虚拟相机过人脸软件, 秒解人脸识别软件
这个系统包含三个主要模块:人脸检测与特征点识别、虚拟相机实现和主程序入口。代码使用了dlib库
|
3月前
|
机器学习/深度学习 编解码 计算机视觉
MATLAB实现人脸识别检测与标出图片中人脸
MATLAB实现人脸识别检测与标出图片中人脸
127 0

热门文章

最新文章