首页 > 解决方案 > 预测器出错 = dlib.shape_predictor("shape_predictor_68_face_landmarks.dat") RuntimeError:

问题描述

我在第 8 行继续运行错误。

predictor = dlib.shape_predictor("shape_predictor_68_face_landmarks.dat") RuntimeError: Unable to open shape_predictor_68_face_landmarks.da

我下载了我试图将文件添加到工作目录的文件,但 PyCharm 不允许我拖放任何东西。

import cv2
import numpy as np
import dlib

cap = cv2.VideoCapture(0)

detector = dlib.get_frontal_face_detector()
predictor = dlib.shape_predictor("shape_predictor_68_face_landmarks.dat")

def midpoint(p1 ,p2):
    return int((p1.x + p2.x)/2), int((p1.y + p2.y)/2)

while True:
    _, frame = cap.read()
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    faces = detector(gray)
    for face in faces:
        #x, y = face.left(), face.top()
        #x1, y1 = face.right(), face.bottom()
        #cv2.rectangle(frame, (x, y), (x1, y1), (0, 255, 0), 2)

        landmarks = predictor(gray, face)
        left_point = (landmarks.part(36).x, landmarks.part(36).y)
        right_point = (landmarks.part(39).x, landmarks.part(39).y)
        center_top = midpoint(landmarks.part(37), landmarks.part(38))
        center_bottom = midpoint(landmarks.part(41), landmarks.part(40))

        hor_line = cv2.line(frame, left_point, right_point, (0, 255, 0), 2)
        ver_line = cv2.line(frame, center_top, center_bottom, (0, 255, 0), 2)

    cv2.imshow("Frame", frame)

    key = cv2.waitKey(1)
    if key == 27:
        break

cap.release()
cv2.destroyAllWindows()

标签: pythonopencvpycharmdlib

解决方案


解决这个问题。我进入了我的 Mac open pycharm install dlib,起初我遇到了同样的问题。google shape_predictor_68_face_landmarks.dat 中的类型。搜索不同选项的最佳来源:https ://github.com/davisking/dlib-models/blob/master/shape_predictor_68_face_landmarks.dat.bz2下载文件,我将文件放入 sam


推荐阅读