2017-10-08 72 views
0

我使用conda安裝dlib,並使用dlib 19.4。當我運行示例Python代碼face_recognition.py我得到這個輸出誤差dlib face_recognition error from dlib.image_window

蟒蛇face_recognition.py ../models/shape_predictor_5_face_landmarks.dat ../models/dlib_face_recognition_resnet_model_v1.dat ../examples/faces 處理文件:d :\ Docs \ Python_code \ Dlib \ examples \ faces \ 2007_007763.jpg 檢測到的面數:7 檢測0:左:93頂部:194右:129底部:230 回溯(最近一次調用最後一次): 文件「在第25行檢測到錯誤。 在文件C:\ bld \ dlib_1504195460225 \ work \ dlib-19.4 \ dlib .. \ dlib/image_processing/render_face_detections.h中檢測到錯誤。 在函數類中檢測到錯誤std :: vector> __cdecl dlib :: render_face_detections(const class std :: vector> &,const struct dlib :: rgb_pixel)。

失敗的表達式是dets [i] .num_parts()== 68. std :: vector render_face_detections() 無效的輸入被賦予此函數。你可以看到它檢測到7個面,這在圖像中是正確的,但是當它試圖繪製矩形時,它會運行到錯誤中。我看到錯誤來自win.add_overlay函數。我迷失在這個錯誤或如何解決它,有什麼建議嗎?示例代碼與https://github.com/davisking/dlib/blob/master/python_examples/face_recognition.py 完全相同該窗口在正確識別的臉部周圍彈出一個紅色方框,但只有7箇中的一個

+0

我已更新示例中的代碼以使用68點面部標誌模型。這現在工作沒有錯誤。有沒有一種方法可以像最初概述的那樣使用5點模型? –

回答

0

如果要使用新版本的示例程序dlib那麼你需要使用新版本的dlib,而不是舊版本。 你不能僅僅爲新版本舉一個例子程序,並期望它可以使用舊版本運行。新版本具有新功能,在示例程序中進行了說明。

+0

感謝您的評論,我使用19.4的舊版本,因爲這是Conda相信的最新版本;我會嘗試手動安裝最新版本以與發佈的示例一起使用。我會記住將來比較發行說明 –