溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python第三方庫face_recognition在windows上的安裝過程

發(fā)布時間:2020-09-05 13:43:05 來源:腳本之家 閱讀:194 作者:WDC 欄目:開發(fā)技術(shù)

實際上face_recognition這個項目尤其是dlib更適用于Linux系統(tǒng)。經(jīng)過我的測試,在性能方面,編譯同樣規(guī)格的項目,這個工具在Windows 10 上大約是Ubuntu上的四分之一。但是在這兩者之間我沒有看到在其他方面有什么差別。

我使用本教程將這些工具安裝到Windows10上,更近的版本也可能正常運行。

  • 安裝了C/C++ 編譯器的Microsoft Visual Studio 2015
  • Boost 庫,V1.63或者更近的版本
  • Python3
  • CMake,Windows安裝時要將其路徑加入環(huán)境變量

下載和安裝 Scipy 和 numpy+mkl (必須是 mkl 版本),下載鏈接,注意要基于你的Python版本選擇合適的版本下載。

根據(jù)你當前的MSVC版本下載對應(yīng)的 Boost 庫(庫的源代碼或者是二進制release版本),下載鏈接。

如果下載的是二進制版本則調(diào)到第4步,否則按照如下的過程編譯 Boost 庫:

進入C:\local\boost_1_XX_X(X 代表你當前的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ā)人員命令提示”,進入 Boost 目錄編譯 Boost 庫:

C:\boost_1_XX_X>bootstrap 這一步執(zhí)行完之后會自動生成b2.exe文件

C:\boost_1_XX_X>b2 -a –with-python address-model=64 toolset=msvc runtime-link=static 這一步編譯需要較長的時間,請耐心等待

4.Boost 庫成功編譯后,編譯生成的文件位于 stage 這個文件夾中。

如果你已經(jīng)編譯了 Boost 請?zhí)^這一步。如果你已經(jīng)下載了二進制的release版本,則進入Boost目錄 C:\local\boost_1_XX_X

獲取最新版本的 dlib 包,下載鏈接

進入 dlib 的目錄,打開 cmd ,運行如下的命令編譯 dlib

將以下兩個參數(shù)加入環(huán)境變量

BOOST_ROOT=C:\local\boost_X_XX_X
BOOST_LIBRARYDIR=C:\local\boost_X_XX_X\stage\lib

然后再運行如下代碼:

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進入Python腳本

你可以使用 pip show dlib查看當前 dlib 的版本

現(xiàn)在你可以使用 pip install face_recognition安裝face_recognition

Enjoy!

dlib安裝也可以使用:

conda install -c menpo dlib=18.18
其中18.18為dlib的版本號

如果安裝成功,運行以下代碼就可以正常運行了。

# -*- 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):
  # 讀取圖片并識別人臉
  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)

  # 遍歷每個人臉,并標注
  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)

  # 顯示識別結(jié)果
  cv2.imshow("識別", img)

  cv2.waitKey(0)
  cv2.destroyAllWindows()

if __name__ == '__main__':
  filename = sys.argv[1]
  face_reg(filename)

將程序保存為test.py,在程序根目錄下保存一張圖片進行測試(假設(shè)保存的為1.jpg)
進入目錄輸入python test.py 1.jpg,即可看到效果。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI