python安裝dlib
⑴ dlib庫,怎麼在python中安裝
直接使用pip install dlib即可
⑵ dlib庫,怎麼在python中安裝
現進入CMD,然後輸入DOS命令進入setup.py文件所在目錄,然後輸入python setup.py install就搞定了。
⑶ python pip 安裝dlib一直失敗
安裝失敗需要檢查幾個問題:
兼容問題,對應的包支持的操作系統,支持的Python版本
安裝問題,部分包只能通過源碼安裝,或者離線的wheel方式安裝
核對包的安裝文檔
⑷ Python的Dlib安裝時一直出現找不到boost怎麼解決
剛剛在 macOS 遇到了類似問題並有了一個解決方案:解決 macOS 下 Python 安裝 Dlib 的問題:Cmake 找不到 boost-python
Linux 以及 其他 類 Unix 系統可能都可以參考上面在 macOS High Sierra 下的思路來通過設定 ~/.bashprofile 裡面的 CMAKE_PREFIX_PATH 指向 boost 安裝路徑來解決這個問題。
現在我正在Windows虛擬機裡面測試,發現似乎也是 cmake 沒有設定 boost 位置導致的。
我嘗試一下用類似方法來解決,然後把細節過程截圖發上來。
到Python Extension Packages for Windows
下載對應系統版本的 boost python 的 whl:
上面這些內容部分參考了 BOOST 官方文檔的內容:Getting Started on Windows
上述步驟完成之後,使用 pip install dlib 來安裝吧.
我自己在 Windows 7 32bit 系統下測到一半提示編譯錯誤,不過能確定的是上面這些步驟都沒問題了,算了,我懶得折騰了,以上內容供參考了。
希望大家都安裝順利,另外開發機還是 類 Unix 系統好配置啊。
⑸ dlib庫,怎麼在python中安裝
這幾天剛好用到Python,其中用到了Dlib庫的人臉對齊演算法。python中需要用到import dlib.pyd文件,這個文件需要用python對dlib源碼進行編譯生成。
具體的生成步驟如下:
1. 安裝boost庫
本人用的是boost_1_61_0版本,在這里簡單說下安裝步驟,具體的方法可以參考網上其它人的博客。
也可參考本文博文《windows下使用bjam安裝Boost》。安裝完成之後,記得配置環境變數。
2. 用python的CMD窗口,進入到dlib庫的目錄下,輸入命令:python setup.py install.
如果提前配置好了boost庫,並且把生成的boost_python-vc120-mt-1_61.dll和boost_python-vc120-mt-gd-1_61.dll兩個文件放到python目錄下。
還需要配置cmake的環境變數,../cmake/bin添加在系統環境變數path里,否則出錯:cannot find cmake in the path.
成功編譯後,會在../dlib/dist/dlib/目錄下找到生成的dlib.pyd文件,把該文件拷貝放到python目錄下的Lib\site-packages\下面,這樣就完成了python編譯dlib庫的工作。
注意:在用python進行dlib編譯時,可能因為python版本的問題,在Lib\distutils\log.py文件中編譯出錯
UnicodeEncodeError: 'gbk' codec can't encode character u'\x9' in position...的問題。
stream.write('%s\n' % msg) ///源文件
修改方法:stream.write('%s\n' % msg.decode('gbk')),即可編譯通過。這是python2.7版本中的gbk和unicode編解碼的原因造成的。
注意:上面的方法本人成功編譯過一次,但是後來又有問題。總是顯示"Could Not Found Boost."(期間卸載了電腦上的vs2008和vs2010,僅保留vs2013).
後來,借鑒了其他網友的方法如下:
首先,添加系統變數 BOOST_ROOT = D:\boost_1_59_0 和 BOOST_LIBRARYDIR = D:\boost_1_59_0\stage\lib。然後打開cmd,進入到boost目錄,輸入以下指令編譯python library(我的python是32位,因此address-model=32):
編譯python庫生成兩個lib文件:libboost_python-vc120-mt-s-1_61和libboost_python-vc120-mt-sgd-1_61,復制到...\stage\lib目錄下面。
再鍵入命令:python setup.py install,顯示如下:
不過按下面這種方式編譯dlib,對於32位的筆記本需要把stream.write('%s\n' % msg.decode('gbk'))恢復為原來的stream.write('%s\n' % msg). 而在64位的PC機上,保留下面的修改的方法:stream.write('%s\n' % msg.decode('gbk'))stream.flush()並且在python的Lib\site-packages文件夾下新建一個sitecustomize.py,內容為:import sys
reload(sys)
sys.setdefaultencoding('utf8') #set default encoding to utf-8
兩台機器上都可以編譯成功。
Ps:在win7系統下用python編譯dlib,花了我兩天時間去琢磨調試,上面的經驗需要的朋友請拿去進一步整理,以免浪費不必好的時間。有問題的童鞋請在下面留言。
⑹ ubuntu裡面怎麼安裝dlib
下面是在ubuntu下如何為Python安裝dlib:
1.在官網dlib官網下載最新版本的dlib
由於dlib最初是一個C++庫,要安裝為python第三方庫,
2.要下載boost將C++ 編譯為python,同時還要下載cmake
命令:sudo apt-get install libboost-python-dev cmake11
3.然後切換到 dlib-18.17/python_examples目錄
然後運行
./compile_dlib_python_mole.bat 11
會生成dlib.so
4.該腳本還要加上可執行許可權
這樣在dlib-18.17/python_examples目錄下就可以導入dlib庫,但在其它地方 還不能導入
將dlib.so復制到python第三庫的文件夾下
sudo cp dlib.so /usr/local/lib/python2.7/dist-packages/11
這樣dlib庫就安裝好了
⑺ 安裝 dlib 遇到 No CMAKE_CXX_COMPILER could be found.
問題現象
這里顯示 g++ 出現錯誤
第一次解決方式
安裝完成後,重新安裝攜敗喊 dlib, 問題再次出現
在安裝g++時看到枯答這樣一個警告
解決方法
再次安裝dlib, 這次安裝辯野上了
⑻ 基於python如何建立人臉庫
您好,基於Python建立人臉庫的方法如下:
1. 安裝Python和相關包:首先,您需要安裝Python和相關的包,如OpenCV、NumPy等,以便使用Python來處理圖像和視頻。
2. 獲取人臉數據:您需此盯要獲取足夠多的人臉數據,以便訓練模型。
3. 提取特徵:使用Python中的OpenCV庫,您可以提取人臉圖像中的特徵,以便進行識別。
4. 訓練模型:使用提取的特徵,您可以訓練一個機器學習森敗和模型,以便識別不同的人臉。
5. 測試模型:最後,您可以使用測試數據來測試模型的准確性,以確保它能夠准確地識別不同枯旁的人臉。
⑼ dlib庫,怎麼在python中安裝
因為這個工程中用到的依賴庫比較多,所以索性下載了Anaconda,它是一個python的發行版,包括了python和很多常見的軟體庫, 和一個包管理器conda,所以安裝了Anaconda後就不用再安裝python了。
1、下載Anaconda的鏈接:https://www.continuum.io/downloads
我下載的是對應python2.7 version的64位Anaconda4.2.0,我的電腦系統是win64。
2、現在的問題就轉換成如何用Anaconda安裝第三方庫的問題(Anaconda不包含dlib庫),在自己電腦上運行cmd.exe,直接在默認的路徑上面執行如下程序即可安裝成功:
conda install -c menpo dlib=18.18
3、執行沒問題的話,結果應該如上圖所示。困擾我好幾天的問題終於解決了,走的太多的彎路,不過也是一個學習的過程,希望大家能有所收獲吧。
⑽ 如何線上部署用python基於dlib寫的人臉識別演算法
python使用dlib進行人臉檢測與人臉關鍵點標記
Dlib簡介:
首先給大家介紹一下Dlib
我使用的版本是dlib-18.17,大家也可以在我這里下載:
之後進入python_examples下使用bat文件進行編譯,編譯需要先安裝libboost-python-dev和cmake
cd to dlib-18.17/python_examples
./compile_dlib_python_mole.bat 123
之後會得到一個dlib.so,復制到dist-packages目錄下即可使用
這里大家也可以直接用我編譯好的.so庫,但是也必須安裝libboost才可以,不然python是不能調用so庫的,下載地址:
將.so復制到dist-packages目錄下
sudo cp dlib.so /usr/local/lib/python2.7/dist-packages/1
最新的dlib18.18好像就沒有這個bat文件了,取而代之的是一個setup文件,那麼安裝起來應該就沒有這么麻煩了,大家可以去直接安裝18.18,也可以直接下載復制我的.so庫,這兩種方法應該都不麻煩~
有時候還會需要下面這兩個庫,建議大家一並安裝一下
9.安裝skimage
sudo apt-get install python-skimage1
10.安裝imtools
sudo easy_install imtools1
Dlib face landmarks Demo
環境配置結束之後,我們首先看一下dlib提供的示常式序
1.人臉檢測
dlib-18.17/python_examples/face_detector.py 源程序:
#!/usr/bin/python# The contents of this file are in the public domain. See LICENSE_FOR_EXAMPLE_PROGRAMS.txt## This example program shows how to find frontal human faces in an image. In# particular, it shows how you can take a list of images from the command# line and display each on the screen with red boxes overlaid on each human# face.## The examples/faces folder contains some jpg images of people. You can run# this program on them and see the detections by executing the# following command:# ./face_detector.py ../examples/faces/*.jpg## This face detector is made using the now classic Histogram of Oriented# Gradients (HOG) feature combined with a linear classifier, an image# pyramid, and sliding window detection scheme. This type of object detector# is fairly general and capable of detecting many types of semi-rigid objects# in addition to human faces. Therefore, if you are interested in making# your own object detectors then read the train_object_detector.py example# program. ### COMPILING THE DLIB PYTHON INTERFACE# Dlib comes with a compiled python interface for python 2.7 on MS Windows. If# you are using another python version or operating system then you need to# compile the dlib python interface before you can use this file. To do this,# run compile_dlib_python_mole.bat. This should work on any operating# system so long as you have CMake and boost-python installed.# On Ubuntu, this can be done easily by running the command:# sudo apt-get install libboost-python-dev cmake## Also note that this example requires scikit-image which can be installed# via the command:# pip install -U scikit-image# Or downloaded from . import sys
import dlib
from skimage import io
detector = dlib.get_frontal_face_detector()
win = dlib.image_window()
print("a");for f in sys.argv[1:]:
print("a");
print("Processing file: {}".format(f))
img = io.imread(f)
# The 1 in the second argument indicates that we should upsample the image
# 1 time. This will make everything bigger and allow us to detect more
# faces.
dets = detector(img, 1)
print("Number of faces detected: {}".format(len(dets))) for i, d in enumerate(dets):
print("Detection {}: Left: {} Top: {} Right: {} Bottom: {}".format(
i, d.left(), d.top(), d.right(), d.bottom()))
win.clear_overlay()
win.set_image(img)
win.add_overlay(dets)
dlib.hit_enter_to_continue()# Finally, if you really want to you can ask the detector to tell you the score# for each detection. The score is bigger for more confident detections.# Also, the idx tells you which of the face sub-detectors matched. This can be# used to broadly identify faces in different orientations.if (len(sys.argv[1:]) > 0):
img = io.imread(sys.argv[1])
dets, scores, idx = detector.run(img, 1) for i, d in enumerate(dets):
print("Detection {}, score: {}, face_type:{}".format(
d, scores[i], idx[i]))5767778798081
我把源代碼精簡了一下,加了一下注釋: face_detector0.1.py
# -*- coding: utf-8 -*-import sys
import dlib
from skimage import io#使用dlib自帶的frontal_face_detector作為我們的特徵提取器detector = dlib.get_frontal_face_detector()#使用dlib提供的圖片窗口win = dlib.image_window()#sys.argv[]是用來獲取命令行參數的,sys.argv[0]表示代碼本身文件路徑,所以參數從1開始向後依次獲取圖片路徑for f in sys.argv[1:]: #輸出目前處理的圖片地址
print("Processing file: {}".format(f)) #使用skimage的io讀取圖片
img = io.imread(f) #使用detector進行人臉檢測 dets為返回的結果
dets = detector(img, 1) #dets的元素個數即為臉的個數
print("Number of faces detected: {}".format(len(dets))) #使用enumerate 函數遍歷序列中的元素以及它們的下標
#下標i即為人臉序號
#left:人臉左邊距離圖片左邊界的距離 ;right:人臉右邊距離圖片左邊界的距離
#top:人臉上邊距離圖片上邊界的距離 ;bottom:人臉下邊距離圖片上邊界的距離
for i, d in enumerate(dets):
print("dets{}".format(d))
print("Detection {}: Left: {} Top: {} Right: {} Bottom: {}"
.format( i, d.left(), d.top(), d.right(), d.bottom())) #也可以獲取比較全面的信息,如獲取人臉與detector的匹配程度
dets, scores, idx = detector.run(img, 1)
for i, d in enumerate(dets):
print("Detection {}, dets{},score: {}, face_type:{}".format( i, d, scores[i], idx[i]))
#繪制圖片(dlib的ui庫可以直接繪制dets)
win.set_image(img)
win.add_overlay(dets) #等待點擊
dlib.hit_enter_to_continue()041424344454647484950
分別測試了一個人臉的和多個人臉的,以下是運行結果:
運行的時候把圖片文件路徑加到後面就好了
python face_detector0.1.py ./data/3.jpg12
一張臉的:
兩張臉的:
這里可以看出側臉與detector的匹配度要比正臉小的很多
2.人臉關鍵點提取
人臉檢測我們使用了dlib自帶的人臉檢測器(detector),關鍵點提取需要一個特徵提取器(predictor),為了構建特徵提取器,預訓練模型必不可少。
除了自行進行訓練外,還可以使用官方提供的一個模型。該模型可從dlib sourceforge庫下載:
arks.dat.bz2
也可以從我的連接下載:
這個庫支持68個關鍵點的提取,一般來說也夠用了,如果需要更多的特徵點就要自己去訓練了。
dlib-18.17/python_examples/face_landmark_detection.py 源程序:
#!/usr/bin/python# The contents of this file are in the public domain. See LICENSE_FOR_EXAMPLE_PROGRAMS.txt## This example program shows how to find frontal human faces in an image and# estimate their pose. The pose takes the form of 68 landmarks. These are# points on the face such as the corners of the mouth, along the eyebrows, on# the eyes, and so forth.## This face detector is made using the classic Histogram of Oriented# Gradients (HOG) feature combined with a linear