成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

關于OpenCV for Python入門之Dlib實現人臉檢測

人工智能 人臉識別
使用dlib可以大大簡化開發,比如人臉識別,特征點檢測之類的工作都可以很輕松實現。同時也有很多基于dlib開發的應用和開源庫,比如face_recogintion庫(應用一個基于Python的開源人臉識別庫,face_recognition)等等。

Dlib 是用編程語言 C ++編寫的通用跨平臺軟件庫。它的設計深受來自契約式設計和基于組件的軟件工程的思想的影響。因此,首先也是最重要的是一組獨立的軟件組件。這是一個加速軟件許可證下發布的開源軟件。

Dlib包含用于處理網絡,線程,圖形用戶界面,數據結構,線性代數,機器學習,圖像處理,數據挖掘,XML 和文本解析,數值優化,貝葉斯網絡以及許多其他任務的軟件組件。近年來,許多開發工作都集中在創建廣泛的統計機器學習工具上。2009 年,Dlib 發表在機器學習研究。從那時起,它已在廣泛的領域中使用。

使用dlib可以大大簡化開發,比如人臉識別,特征點檢測之類的工作都可以很輕松實現。同時也有很多基于dlib開發的應用和開源庫,比如face_recogintion庫(應用一個基于Python的開源人臉識別庫,face_recognition)等等。

dlib庫采用68點位置標志人臉重要部位,比如18-22點標志右眉毛,23-27點標志左眉毛,37-42點標志左眼,43-48點標志右眼,32-36點標志鼻子,49-68標志嘴巴,這其中還可以識別嘴唇。

可以通過對眼睛的算法變換,識別出眨眼、瞇眼等動作,對眼睛、嘴巴的變換實現各種情緒的識別。

也可以通過對人的68點構造算法模型,進行人臉識別。

dlib的安裝比較麻煩,尤其是python3.7版本,通過pip intall命名無法安裝成功,建議自行到網上下載whl包,可節約探索時間。

# windows 通過whl文件安裝dlib
# dlib在python3.7版本下兼容性有問題,即使安裝了 Visual Studio 也還是無法安裝dlib
# 因此從網上下載了dlib for python37的whl文件
# pip install dlib-19.17.99-cp37-cp37m-win_amd64.whl
# pip install face_recognition
# pip install imutils
import dlib
import numpy as np
import cv2
import imutils
from imutils import face_utils

# 使用 Dlib 的正面人臉檢測器 frontal_face_detector
detector = dlib.get_frontal_face_detector()
# 使用訓練好的模型shape_predictor_68_face_landmarks.dat,在檢測出人臉的同時,檢測出人臉上的68個關鍵點
predictor=dlib.shape_predictor(r'C:\Python\Pycharm\docxprocess\face_detector\shape_predictor_68_face_landmarks.dat')

# 圖片所在路徑
imgname = r'C:\Python\Pycharm\docxprocess\picture\other\renwu\juhui1.jpg' #21
# imgname = r'C:\Python\Pycharm\docxprocess\picture\other\renwu\juhui2.png' #6
# imgname = r'C:\Python\Pycharm\docxprocess\picture\other\ldh\angry.png'
# imgname = r'C:\Python\Pycharm\docxprocess\picture\other\ldh\ldh.png'
# imgname = r'C:\Python\Pycharm\docxprocess\picture\other\ldh\happy.png'
# imgname = r'C:\Python\Pycharm\docxprocess\picture\other\ldh\shigu.jpeg'
# imgname = r'C:\Python\Pycharm\docxprocess\picture\other\renwu\juhui4.png' #24
# 讀取圖片,轉換灰度
img = cv2.imread(imgname)
img_gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)

# 人臉檢測,獲得人臉數據
faces = detector(img_gray, 1)
# rectangles[[(941, 254) (977, 290)], [(361, 210) (397, 246)], [(717, 138) (753, 174)], [(801, 214) (837, 250)],
# [(573, 138) (609, 174)], [(45, 210) (81, 246)], [(585, 202) (621, 238)], [(189, 254) (225, 290)],
# [(245, 214) (281, 250)], [(689, 210) (725, 246)], [(419, 247) (463, 290)], [(553, 242) (589, 278)],
# [(901, 218) (937, 254)], [(77, 246) (113, 282)], [(141, 222) (177, 258)], [(741, 242) (777, 278)],
# [(485, 202) (521, 238)], [(161, 110) (197, 146)], [(297, 166) (333, 202)], [(905, 138) (941, 174)],
# [(301, 246) (337, 282)], [(865, 106) (901, 142)], [(389, 146) (425, 182)], [(241, 138) (277, 174)]]
if len(faces) < 1:
print("未檢測到人臉")
else:
print("人臉數總數為", len(faces))
for(i, rect) in enumerate(faces):

# 返回人臉框的左上角坐標和矩形框的尺寸
(x, y, w, h) = face_utils.rect_to_bb(rect)
# 在圖片上畫矩形框和輸出檢測的人臉數量
cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2)
cv2.putText(img, "Face #{}".format(i + 1), (x - 10, y - 10),
cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)


cv2.imshow("Output", img)
cv2.waitKey(0)

之前opencv自帶的人臉檢測結果

1927年在比利時布魯塞爾召開的第五次索爾維會議,黑白照片,檢測出21人。

1924年林徽因等與訪問中國的泰戈爾合影,共7個人,重要的泰戈爾沒檢測出來。

1927年在比利時布魯塞爾召開的第五次索爾維會議,彩色照片,檢測出24人。

不老男神,帥氣的劉德華。

使用訓練好的模型shape_predictor_68_face_landmarks.dat,在檢測出人臉的同時,檢測出人臉上的68個關鍵點,再看一下劉德華。

import dlib
import numpy as np
import cv2
import imutils
from imutils import face_utils

# 使用 Dlib 的正面人臉檢測器 frontal_face_detector
detector = dlib.get_frontal_face_detector()
# 使用訓練好的模型shape_predictor_68_face_landmarks.dat,在檢測出人臉的同時,檢測出人臉上的68個關鍵點
predictor=dlib.shape_predictor(r'C:\Python\Pycharm\docxprocess\face_detector\shape_predictor_68_face_landmarks.dat')

# 圖片所在路徑
imgname = r'C:\Python\Pycharm\docxprocess\picture\other\renwu\juhui1.jpg' #21
imgname = r'C:\Python\Pycharm\docxprocess\picture\other\renwu\juhui2.png' #6
# imgname = r'C:\Python\Pycharm\docxprocess\picture\other\ldh\angry.png'
imgname = r'C:\Python\Pycharm\docxprocess\picture\other\ldh\ldh.png'
# imgname = r'C:\Python\Pycharm\docxprocess\picture\other\ldh\happy.png'
# imgname = r'C:\Python\Pycharm\docxprocess\picture\other\ldh\shigu.jpeg'
# imgname = r'C:\Python\Pycharm\docxprocess\picture\other\renwu\juhui4.png' #24
# 讀取圖片,轉換灰度
img = cv2.imread(imgname)
img_gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)

# 人臉檢測,獲得人臉數據
faces = detector(img_gray, 1)
# rectangles[[(941, 254) (977, 290)], [(361, 210) (397, 246)], [(717, 138) (753, 174)], [(801, 214) (837, 250)],
# [(573, 138) (609, 174)], [(45, 210) (81, 246)], [(585, 202) (621, 238)], [(189, 254) (225, 290)],
# [(245, 214) (281, 250)], [(689, 210) (725, 246)], [(419, 247) (463, 290)], [(553, 242) (589, 278)],
# [(901, 218) (937, 254)], [(77, 246) (113, 282)], [(141, 222) (177, 258)], [(741, 242) (777, 278)],
# [(485, 202) (521, 238)], [(161, 110) (197, 146)], [(297, 166) (333, 202)], [(905, 138) (941, 174)],
# [(301, 246) (337, 282)], [(865, 106) (901, 142)], [(389, 146) (425, 182)], [(241, 138) (277, 174)]]
if len(faces) < 1:
print("未檢測到人臉")
else:
print("人臉數總數為", len(faces))
for(i, rect) in enumerate(faces):

# 返回人臉框的左上角坐標和矩形框的尺寸
(x, y, w, h) = face_utils.rect_to_bb(rect)
# 在圖片上畫矩形框和輸出檢測的人臉數量
cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2)
cv2.putText(img, "Face #{}".format(i + 1), (x - 10, y - 10),
cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)

# 標記人臉中的68個landmark點
shape = predictor(img_gray, rect)
# <dlib.full_object_detection object at 0x0000018AF09586F8>
# shape轉換成68個坐標點矩陣
shape = face_utils.shape_to_np(shape)
# [[245 149]
# [245 152]
# ...
# [246 159]]
# [[364 225]
# [365 228]
# ...
# [366 236]]
# 在源圖上輸出landmark點
for j,(x, y) in enumerate(shape):
cv2.circle(img, (x, y), 2, (0, 0, 255), -1)
cv2.putText(img, "{}".format(j + 1), (x - 10, y - 10),
cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)

cv2.imshow("Output", img)
cv2.waitKey(0)

責任編輯:武曉燕 來源: python與大數據分析
相關推薦

2018-05-08 14:25:22

Pythondlib人臉檢測

2020-12-30 08:20:04

人臉檢測Retina FacemobileNet

2018-01-23 09:17:22

Python人臉識別

2023-04-26 22:52:19

視覺人臉檢測人臉對齊

2024-06-12 12:57:12

2018-06-29 10:15:20

PythonOpenCV人臉識別

2023-08-22 16:05:09

Pytorch人臉替換

2023-11-14 08:38:43

Golang人臉識別

2023-11-29 20:38:49

OpenCV人臉檢測

2017-01-23 21:35:58

Android人臉檢測介紹

2017-08-02 07:36:06

大數據PythonOpenCV

2017-09-22 11:45:10

深度學習OpenCVPython

2015-02-10 10:08:59

JavaScript

2019-11-04 11:50:35

人工智能機器學習技術

2024-09-14 09:31:25

2020-11-02 11:24:52

算法人臉識別技術

2024-04-15 00:00:01

GoogleAndroid機器學習

2018-12-29 09:38:16

Python人臉檢測

2012-04-30 20:24:43

Android API

2020-03-09 14:08:25

Python目標檢測視覺識別
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲视频在线观看 | 亚洲国产精品第一区二区 | 黄a大片| 亚洲日韩中文字幕一区 | 91精品国产综合久久福利软件 | 国产一区二区三区精品久久久 | 中文字幕在线免费观看 | 91在线免费视频 | 欧美一级黄色网 | 久久精品一级 | 欧美日韩在线高清 | 人人干人人舔 | 日韩av在线一区二区三区 | 羞羞的视频网站 | 九色91视频 | 亚洲乱码一区二区三区在线观看 | 国产在线视频99 | 日日碰狠狠躁久久躁婷婷 | 中文字幕在线精品 | 偷牌自拍 | av在线黄 | 亚洲第一成年免费网站 | 国产中的精品av涩差av | 久在线视频播放免费视频 | 三级成人片 | 色站综合 | 久久久精品综合 | 国产乱码精品一区二区三区中文 | 日日夜夜天天综合 | 午夜不卡福利视频 | 在线视频 亚洲 | 综合网视频 | 亚洲一区二区电影网 | 久久精品| 伊人在线视频 | 狠狠爱一区二区三区 | 国产欧美综合在线 | wwwxxx国产 | 亚洲 欧美 在线 一区 | 国产视频一区二区 | 午夜精品一区二区三区三上悠亚 |