真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python如何利用dlib獲取人臉的68個(gè)landmark-創(chuàng)新互聯(lián)

小編給大家分享一下python如何利用dlib獲取人臉的68個(gè)landmark,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站建設(shè)、成都網(wǎng)站制作、漣源網(wǎng)絡(luò)推廣、微信平臺(tái)小程序開發(fā)、漣源網(wǎng)絡(luò)營銷、漣源企業(yè)策劃、漣源品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們大的嘉獎(jiǎng);創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供漣源建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.compython的五大特點(diǎn)是什么

python的五大特點(diǎn):1.簡單易學(xué),開發(fā)程序時(shí),專注的是解決問題,而不是搞明白語言本身。2.面向?qū)ο螅c其他主要的語言如C++和Java相比, Python以一種非常強(qiáng)大又簡單的方式實(shí)現(xiàn)面向?qū)ο缶幊獭?.可移植性,Python程序無需修改就可以在各種平臺(tái)上運(yùn)行。4.解釋性,Python語言寫的程序不需要編譯成二進(jìn)制代碼,可以直接從源代碼運(yùn)行程序。5.開源,Python是 FLOSS(自由/開放源碼軟件)之一。

(1) 單人臉情況

import cv2
import dlib

path = "1.jpg"
img = cv2.imread(path)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

#人臉檢測畫框
detector = dlib.get_frontal_face_detector()
# 獲取人臉關(guān)鍵點(diǎn)檢測器
predictor = dlib.shape_predictor("shape_predictor_68_face_landmarks.dat")
#獲取人臉框位置信息
dets = detector(gray, 1)#1表示采樣(upsample)次數(shù) 0識(shí)別的人臉少點(diǎn),1識(shí)別的多點(diǎn),2識(shí)別的更多,小臉也可以識(shí)別
for face in dets:
  shape = predictor(img, face) # 尋找人臉的68個(gè)標(biāo)定點(diǎn)
  # 遍歷所有點(diǎn),打印出其坐標(biāo),并圈出來
  for pt in shape.parts():
    pt_pos = (pt.x, pt.y)
    cv2.circle(img, pt_pos, 2, (0, 0, 255), 1)#img, center, radius, color, thickness

  cv2.imshow("image", img)

cv2.waitKey(0)
cv2.destroyAllWindows()

(2) 多人臉情況

import cv2
import dlib

path2 = "zxc.jpg"
img = cv2.imread(path2)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

#人臉檢測畫框
detector = dlib.get_frontal_face_detector()
# 獲取人臉關(guān)鍵點(diǎn)檢測器
predictor = dlib.shape_predictor("shape_predictor_68_face_landmarks.dat")
#獲取人臉框位置信息
dets = detector(gray, 1)#1表示采樣(upsample)次數(shù) 0識(shí)別的人臉少點(diǎn),1識(shí)別的多點(diǎn),2識(shí)別的更多,小臉也可以識(shí)別

for i in range(len(dets)):
  shape = predictor(img, dets[i]) # 尋找人臉的68個(gè)標(biāo)定點(diǎn)
  # 遍歷所有點(diǎn),打印出其坐標(biāo),并圈出來
  for pt in shape.parts():
    pt_pos = (pt.x, pt.y)
    cv2.circle(img, pt_pos, 2, (0, 0, 255), 1)#img, center, radius, color, thickness

cv2.imshow("image", img)

cv2.waitKey(0)#等待鍵盤輸入
cv2.destroyAllWindows()

(3) 獲取電腦攝像頭實(shí)時(shí)識(shí)別標(biāo)定

import cv2
import dlib
import numpy as np

cap = cv2.VideoCapture(0)#打開筆記本的內(nèi)置攝像頭,若參數(shù)是視頻文件路徑則打開視頻
cap.isOpened()

def key_points(img):
  points_keys = []
  PREDICTOR_PATH = "shape_predictor_68_face_landmarks.dat"
  detector = dlib.get_frontal_face_detector()
  predictor = dlib.shape_predictor(PREDICTOR_PATH)
  rects = detector(img,1)

  for i in range(len(rects)):
    landmarks = np.matrix([[p.x,p.y] for p in predictor(img,rects[i]).parts()])
    for point in landmarks:
      pos = (point[0,0],point[0,1])
      points_keys.append(pos)
      cv2.circle(img,pos,2,(255,0,0),-1)
  return img

while(True):
  ret, frame = cap.read()#按幀讀取視頻,ret,frame是cap.read()方法的兩個(gè)返回值。其中ret是布爾值,如果讀取幀是正確的則返回True,如果文件讀取到結(jié)尾,它的返回值就為False。frame就是每一幀的圖像,是個(gè)三維矩陣。
  # gray = cv2.cvtColor(frame)
  face_key = key_points(frame)
  cv2.imshow('frame',face_key)
  if cv2.waitKey(1) & 0xFF == ord('q'):
    break

cap.release()#釋放攝像頭
cv2.destroyAllWindows()#關(guān)閉所有圖像窗口

以上是“python如何利用dlib獲取人臉的68個(gè)landmark”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


新聞名稱:python如何利用dlib獲取人臉的68個(gè)landmark-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://weahome.cn/article/degodh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部