1

http://npatta01.github.io/2015/08/10/dlib/に従って手順に従いますが、実行しようとすると (sudo を使用します)、

python python_examples/face_detector.py examples/faces/2007_007763.jpg

エラーを取り戻す。まず、エラーになったのは

AttributeError: 'module' object has no attribute 'image_window' 

8行目まで。今、エラーはありますがIllegal instruction (core dumped)、理由はわかりません。ライブラリを正しく追加するのを手伝ってください。

import sys

import dlib
from skimage import io


detector = dlib.get_frontal_face_detector()
win = dlib.image_window()

for f in sys.argv[1:]:
    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.
# The third argument to run is an optional adjustment to the detection threshold,
# where a negative value will return more detections and a positive value fewer.
# 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, -1)
    for i, d in enumerate(dets):
        print("Detection {}, score: {}, face_type:{}".format(
            d, scores[i], idx[i]))
4

2 に答える 2

0

あなたのコードでわかるように:

detector = dlib.get_frontal_face_detector()
win = dlib.image_window()

最初の行は機能しますが、2 番目の行は機能しません。これは、dlib がインストールされているが、GUI サポートなしでコンパイルされていることを意味します。

dlib のソース コード では、マクロ DLIB_NO_GUI_SUPPORT が定義されている場合、dlib モジュールに「image_window」関数がないことがわかります。このマクロは、CMake スクリプトが X11 ライブラリを見つけられない場合に自動的に定義されます

dlib が GUI サポート付きでコンパイルされていることを確認する必要があります。作成するには、まず、Linux で作業している場合はシステムに libx11-dev をインストールし、Mac では XQuartz をインストールします。

実行中の dlib をビルドするときは python setup.py install --yes DLIB_JPEG_SUPPORT、そのメッセージを確認してください。エラーまたは警告がある場合 - それらを修正します

于 2016-09-28T06:10:31.540 に答える