Python第三方庫face_recognition在windows上的安裝過程
實(shí)際上face_recognition這個(gè)項(xiàng)目尤其是dlib更適用于Linux系統(tǒng)。經(jīng)過我的測(cè)試,在性能方面,編譯同樣規(guī)格的項(xiàng)目,這個(gè)工具在Windows 10 上大約是Ubuntu上的四分之一。但是在這兩者之間我沒有看到在其他方面有什么差別。
我使用本教程將這些工具安裝到Windows10上,更近的版本也可能正常運(yùn)行。
- 安裝了C/C++ 編譯器的Microsoft Visual Studio 2015
- Boost 庫,V1.63或者更近的版本
- Python3
- CMake,Windows安裝時(shí)要將其路徑加入環(huán)境變量
下載和安裝 Scipy 和 numpy+mkl (必須是 mkl 版本),下載鏈接,注意要基于你的Python版本選擇合適的版本下載。
根據(jù)你當(dāng)前的MSVC版本下載對(duì)應(yīng)的 Boost 庫(庫的源代碼或者是二進(jìn)制release版本),下載鏈接。
如果下載的是二進(jìn)制版本則調(diào)到第4步,否則按照如下的過程編譯 Boost 庫:
進(jìn)入C:\local\boost_1_XX_X(X 代表你當(dāng)前的Boost版本)提取 Boost 源文件
根據(jù)以下格式新建系統(tǒng)變量:
Name: VS140COMNTOOLS
Value: C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\ (此處為任何你安裝MSVC的路徑)
打開Visual Studio 2015自帶的開發(fā)人員工具類似于“VS2015 開發(fā)人員命令提示”,進(jìn)入 Boost 目錄編譯 Boost 庫:
C:\boost_1_XX_X>bootstrap 這一步執(zhí)行完之后會(huì)自動(dòng)生成b2.exe文件
C:\boost_1_XX_X>b2 -a –with-python address-model=64 toolset=msvc runtime-link=static 這一步編譯需要較長的時(shí)間,請(qǐng)耐心等待
4.Boost 庫成功編譯后,編譯生成的文件位于 stage 這個(gè)文件夾中。
如果你已經(jīng)編譯了 Boost 請(qǐng)?zhí)^這一步。如果你已經(jīng)下載了二進(jìn)制的release版本,則進(jìn)入Boost目錄 C:\local\boost_1_XX_X
獲取最新版本的 dlib 包,下載鏈接
進(jìn)入 dlib 的目錄,打開 cmd ,運(yùn)行如下的命令編譯 dlib
將以下兩個(gè)參數(shù)加入環(huán)境變量
BOOST_ROOT=C:\local\boost_X_XX_X
BOOST_LIBRARYDIR=C:\local\boost_X_XX_X\stage\lib
然后再運(yùn)行如下代碼:
python setup.py install –yes USE_AVX_INSTRUCTIONS or python setup.py install –yes
USE_AVX_INSTRUCTIONS –yes DLIB_USE_CUDA
現(xiàn)在你可以使用 import dlib進(jìn)入Python腳本
你可以使用 pip show dlib查看當(dāng)前 dlib 的版本
現(xiàn)在你可以使用 pip install face_recognition安裝face_recognition
Enjoy!
dlib安裝也可以使用:
conda install -c menpo dlib=18.18
其中18.18為dlib的版本號(hào)
如果安裝成功,運(yùn)行以下代碼就可以正常運(yùn)行了。
# -*- coding: utf-8 -*- """ Created on Sat Sep 23 21:15:42 2017 @author: Romji """ import face_recognition import cv2 import sys def face_reg(file): # 讀取圖片并識(shí)別人臉 img = face_recognition.load_image_file(file) face_locations = face_recognition.face_locations(img) print(face_locations) # 調(diào)用opencv函數(shù)顯示圖片 img = cv2.imread(file) cv2.imshow("原圖", img) # 遍歷每個(gè)人臉,并標(biāo)注 faceNum = len(face_locations) for i in range(0, faceNum): top = face_locations[i][0] right = face_locations[i][1] bottom = face_locations[i][2] left = face_locations[i][3] start = (left, top) end = (right, bottom) color = (55,255,155) thickness = 3 cv2.rectangle(img, start, end, color, thickness) # 顯示識(shí)別結(jié)果 cv2.imshow("識(shí)別", img) cv2.waitKey(0) cv2.destroyAllWindows() if __name__ == '__main__': filename = sys.argv[1] face_reg(filename)
將程序保存為test.py,在程序根目錄下保存一張圖片進(jìn)行測(cè)試(假設(shè)保存的為1.jpg)
進(jìn)入目錄輸入python test.py 1.jpg,即可看到效果。
相關(guān)文章
使用gunicorn部署django項(xiàng)目的問題
這篇文章主要介紹了使用gunicorn部署django項(xiàng)目,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12在MAC上搭建python數(shù)據(jù)分析開發(fā)環(huán)境
這篇文章主要介紹了在MAC上搭建python數(shù)據(jù)分析開發(fā)環(huán)境的相關(guān)資料,需要的朋友可以參考下2016-01-01Python使用pymssql連接SQL?SEVER數(shù)據(jù)庫全流程
SQL Server是微軟推出的重量級(jí)的數(shù)據(jù)庫,目前有多個(gè)版本,如2000、2008、2012等,下面這篇文章主要給大家介紹了關(guān)于Python使用pymssql連接SQL?SEVER數(shù)據(jù)庫的相關(guān)資料,需要的朋友可以參考下2023-12-12