windows下dlib庫簡介、安裝問題解決及簡單小例子 (python)

一、dlib簡介
Dlib是一個現代C++框架,解決包含機器學習算法以及開發複雜軟件的實現問題,它被廣泛應用在工業和學術研究領域,包括機器人、嵌入式設備、移動手機以及大規模高性能計算環境中,DLib的開源使得在使用過程中方便,自由。
Dlib主要特點:文檔說明全,高質量的代碼,機器學習算法,科學計算算法,圖模型推理算法,圖像處理,線程,網絡編程,圖形用戶接口,數據壓縮與整合算法等,可以參考官網說明:http://dlib.net

二、dlib安裝
dlib庫的安裝還是一般會遇到一點問題的,我自己第一次使用也是折騰了半天。這裏交代一下我的環境是64位win7+Python3.6.6+opencv-python 4.0.0.21。

1、首先安裝opencv模塊
直接在cmd模式下輸入pip install opencv-python 即可

2、安裝dlib庫
網上有很多說法,大部分都說要先安裝cmake、boost,其實沒有必要。這裏提供兩種簡單方法:
方法一:直接cmd模式下輸入 pip install dlib==19.6.1即可,如下圖所示(當然也可以安裝其他版本,方法類似,我自己後來安裝的是19.7.0版本)
在這裏插入圖片描述
方法二:直接在pycharm中安裝(但要注意相應的版本號,因爲pycharm默認都是最新版本)
File-settings-Project Interpreter-…
在這裏插入圖片描述
補充:本來到這裏就安裝成功了,但是肯定有小夥伴發現雖然import dlib沒有問題,但是在運行代碼時報錯:detector = dlib.get_frontal_face_detector() AttributeError: module ‘dlib’ has no attribute ‘get_frontal_face_detector’ 或者 can’t open 'get_frontal_face_detector’等問題,則是因爲你沒有下載人臉庫shape_predictor_68_face_landmarks,需要下載下來並解壓後放到你代碼所在的文件夾裏。
人臉庫下載鏈接:http://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz2

3、簡單小例子 :任意圖像中人臉檢測及關鍵點提取
(1)原理及步驟:
a)首先用opencv讀取圖片(img = cv2.imread(“duoren.jpg”)
b)調用dlib庫提供的人臉提取器,檢測出圖片有無人臉,若有則輸出檢測到的人臉數目並進行特徵點Landmark提取,若無則輸出未檢測到人臉
detector = dlib.get_frontal_face_detector() # 使用dlib庫提供的人臉提取器
predictor = dlib.shape_predictor(‘shape_predictor_68_face_landmarks.dat’)#構建特徵提取器
c)利用cv2.circle給每個特徵點畫一個圈,共68個
cv2.circle(img, pos, 5, color=(0, 255, 0))

(2)效果展示:
在這裏插入圖片描述
圖1 單人模式
在這裏插入圖片描述
圖2 多人模式

4、代碼獲取:
掃碼關注微信公衆號“StrongerTang”,輸入關鍵詞“dlib小例子”,即可獲取。
也有其他資料可免費領取。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章