python dlib 面部輪廓實時檢測

2022-07-04 18:48:15 字數 1943 閱讀 5355

# coding:utf-8

import cv2

import os

import dlib

# def assure_path_exists(path):

dir = os.path.dirname(path)

if not os.path.exists(dir):

os.makedirs(dir)

vid_cam = cv2.videocapture(0)

# face_detector = cv2.cascadeclassifier('./face_model/haarcascade_frontalface_default.xml')

# 每錄入一張人臉的時候在這裡寫乙個id,記住一點就是每個人的id都不能相同。

face_id = 1

# 使用 dlib 的正面人臉檢測器 frontal_face_detector

detector = dlib.get_frontal_face_detector()

# dlib 的 68點模型

predictor = dlib.shape_predictor("./face_model/shape_predictor_68_face_landmarks.dat")

# 初始化樣本人臉影象

count = 0

path = "./datatest"

assure_path_exists(path)

win = dlib.image_window()

# 開始迴圈

while (true):

_, image_frame = vid_cam.read()

# 幀轉換為灰度圖

# gray = cv2.cvtcolor(image_frame, cv2.color_bgr2gray)

# 檢測不同大小的幀,人臉矩形列表,返回四個值就是人臉位置的座標

# faces = face_detector.detectmultiscale(image_frame, 1.3, 5)

# 使用 detector 檢測器來檢測影象中的人臉

faces = detector(image_frame, 1)

print("人臉數:", len(faces), ) # [im for im in faces]

win.clear_overlay()

win.set_image(image_frame)

for i, d in enumerate(faces):

print("第", i + 1, "個人臉的矩形框座標:",

"left:", d.left(), "right:", d.right(), "top:", d.top(), "bottom:", d.bottom())

# cv2.rectangle(image_frame, (d.left(), d.top()), (d.right(), d.bottom()), (255, 0, 0), 2)

# 使用predictor來計算面部輪廓

shapes = predictor(image_frame, faces[i])

# 'num_parts', 'part', 'parts', 'rect']

# print(dir(shapes.parts))

# 繪製面部輪廓

win.add_overlay(shapes)

# 繪製矩陣輪廓

win.add_overlay(faces)

# cv2.imshow('frame', image_frame)

# 停止錄影,按「q」鍵至少100ms

if cv2.waitkey(100) & 0xff == ord('q'):

break

# elif count == 10:

# break

dlib.hit_enter_to_continue()

Python Dlib庫人臉檢測

一些關於dlib的介紹 import dlib import cv2 使用 dlib 的正面人臉檢測器 frontal face detector detector dlib.get frontal face detector 所在路徑 生成 dlib 的影象視窗 win dlib.image wi...

面部面板200種問題 面部面板問題

面部常見 問題 一 黑眼圈 形成原因 遺傳,睡眠不足,疲勞過度,眼瞼得不到休息,長期處在緊張的收縮狀態使眼部血流量 長時間的增加,使血管充盈,使眼部色素沉著,飲酒過度。長期疲勞,飲食不當,月經期情緒不佳。肝臟機能降低,卵巢功能障礙。使用劣質化妝品造成血管 血液障礙。二 眼袋 形成原因 長期缺乏營養 ...

面部捕捉技術 重磅炸彈!數字領域AI面部捕捉技術

digital domain宣布masquerade 2.0 下一代遊戲的重磅炸彈面部捕捉 thanos的 infinity war 技術可以產生10倍的情感角色 已經在多個aaa專案中投入生產。digital domain推出了masquerade 2.0,這是其內部面部捕捉系統的下乙個迭代版本,...