基于OpenCV的人脸、视频、文字检测以及识别的项目(三 人脸轮廓+化妆)

1.安装 face_recognition

这个face_recognition 是一个很简单的人脸识别库 ,是在dlib框架(包含机器学习算法和工具的现代化工具包)上做的整合

第一步安装这俩
pip install Cmake
pip install boost

然后就要安装 dlib Windows上安装dlib容易出问题 可以直接安装 .whl文件
注意:这个whl文件 要跟python配套 但是现在这个whl文件高版本基本没出来 我前两天装的python3.11找不到对应whl文件 又重新装的python3.8 重新配的环境
下面的 对应3.8的dlib..whl文件
链接:https://pan.baidu.com/s/1g33E...
提取码:xu0f

第二步  安装whl
到你存放whl文件的文件夹里面  cmd  输入命令
pip install dlib-19.19.0-cp38-cp38-win_amd64.whl
第三步 然后就可以愉快的安装安装 face_recognition 了
pip install face_recognition

然后就能够愉快的写轮廓检测程序了

2.人脸轮廓检测

# coding=utf-8
# 绘制面部轮廓
import face_recognition
from PIL import Image, ImageDraw

# 将图片文件加载到numpy 数组中
image = face_recognition.load_image_file("./8.jpg")

# 查找图像中所有面部的所有面部特征
face_landmarks_list = face_recognition.face_landmarks(image)

for face_landmarks in face_landmarks_list:
    facial_features = [
        'chin', 'left_eyebrow', 'right_eyebrow', 'nose_bridge', 'nose_tip',
        'left_eye', 'right_eye', 'top_lip', 'bottom_lip'
    ]
    pil_image = Image.fromarray(image)
    d = ImageDraw.Draw(pil_image)
    for facial_feature in facial_features:
        d.line(face_landmarks[facial_feature], fill=(255, 255, 255), width=3)
    pil_image.show()

基于OpenCV的人脸、视频、文字检测以及识别的项目(三 人脸轮廓+化妆)_第1张图片
这次我大威少可以了 hhhh
基于OpenCV的人脸、视频、文字检测以及识别的项目(三 人脸轮廓+化妆)_第2张图片

三 化妆

直接上代码

# coding=utf-8
# 数字化妆类
import face_recognition
from PIL import Image, ImageDraw

# 加载图片到numpy array
image = face_recognition.load_image_file("./8.jpg")

# 标识脸部特征
face_landmarks_list = face_recognition.face_landmarks(image)

for face_landmarks in face_landmarks_list:
    pil_image = Image.fromarray(image)
    d = ImageDraw.Draw(pil_image, 'RGBA')

    # 绘制眉毛
    d.polygon(face_landmarks['left_eyebrow'], fill=(68, 54, 39, 128))
    d.polygon(face_landmarks['right_eyebrow'], fill=(68, 54, 39, 128))
    d.line(face_landmarks['left_eyebrow'], fill=(68, 54, 39, 150), width=5)
    d.line(face_landmarks['right_eyebrow'], fill=(68, 54, 39, 150), width=5)

    # 绘制嘴唇
    d.polygon(face_landmarks['top_lip'], fill=(150, 0, 0, 128))
    d.polygon(face_landmarks['bottom_lip'], fill=(150, 0, 0, 128))
    d.line(face_landmarks['top_lip'], fill=(150, 0, 0, 64), width=8)
    d.line(face_landmarks['bottom_lip'], fill=(150, 0, 0, 64), width=8)

    # 绘制眼睛
    d.polygon(face_landmarks['left_eye'], fill=(255, 255, 255, 30))
    d.polygon(face_landmarks['right_eye'], fill=(255, 255, 255, 30))

    # 绘制眼线
    d.line(face_landmarks['left_eye'] + [face_landmarks['left_eye'][0]],
           fill=(0, 0, 0, 110),
           width=6)
    d.line(face_landmarks['right_eye'] + [face_landmarks['right_eye'][0]],
           fill=(0, 0, 0, 110),
           width=6)

    pil_image.show()

基于OpenCV的人脸、视频、文字检测以及识别的项目(三 人脸轮廓+化妆)_第3张图片
基于OpenCV的人脸、视频、文字检测以及识别的项目(三 人脸轮廓+化妆)_第4张图片
xswl hhh 威少的大红唇

代码学习自:
https://github.com/vipstone/f...
https://github.com/vipstone/f...

你可能感兴趣的:(基于OpenCV的人脸、视频、文字检测以及识别的项目(三 人脸轮廓+化妆))