開源之Ubuntu:人臉識別庫face_recognition應用給照片小姐姐畫眼線

之前的文章,我們在Ubuntu20。04系統下安裝了人臉識別庫face_recognition。安裝好這個最簡潔好用的庫,可以在終端裡輸入pip3

list命令檢視是否已經安裝。而我們要在程式碼裡使用face_recognition,肯定是要載入的。由於是Python下的pip,所以我們在腳本里使用的時候要用import

face_recognition。不過當你第一次使用或測試的時候,會提示出錯。

原來,我們還沒有安裝face_recognition_models。要使用這個人臉識別庫,光有face_recognition是不行的。按照提示,我們可以使用pip install 命令來安裝這個:

pip

install git+https://github。com/ageitgey/face_recognition_models

。當然根據我們以往的經驗,這樣終端命令式安裝,多半不會成功。機智客這裡就試了幾次都是半天一動不動,之後出錯。所以還不如去網上下載壓縮包在本地弄呢。

所以,如果你在終端命令下執行安裝命令,長時間才返回出錯,那麼我們就可以去GitHub或者網上找這個face_recognition_models壓縮包。不過這個壓縮包一百多兆,即便在終端命令下安裝,耗時也比較長,長時間顯示如圖一樣的無進度條的靜止介面。這個時候不要以為卡死了還是怎麼著,這個屬於正常情況。

而去下載壓縮包呢,也簡單,從網上下載這個100多兆的zip壓縮包後,在本地某個目錄下解壓縮,進入face_recognition目錄會看到setup。py。這樣我們就可以順利安裝了。可以先python3 setup。py

build編譯,然後python3 setup。py

install安裝。不管是哪一種方法,當安裝成功後,我們進入Python後,然後import face_recognition就顯示正常了。

既然成功安裝並配好models了,就可以用它做一些好玩的事情了。比如我想給一張圖片裡的人物畫個眼線。那麼就需要準備一張人臉圖片,然後呼叫face_recognition,機智客提醒一下由於涉及到對圖片的操作,我們需要用到圖片庫PIL,所以Ubuntu系統裡的Python還要安裝Pillow。環境搭配好以後,核心程式碼就是透過人臉識別庫識別到人臉,然後在眼睛位置描畫眼線。核心程式碼如下:

jizhike。line(face_landmarks[‘left_eye’] + [face_landmarks[‘left_eye’][0]], fill=(0, 0, 0, 110), width=6)

jizhike。line(face_landmarks[‘right_eye’] + [face_landmarks[‘right_eye’][0]], fill=(0, 0, 0, 110), width=6)