OpenCV не может получить haarcascade - PullRequest
0 голосов
/ 16 декабря 2018

Я пишу скрипт Python, используя библиотеку OpenCV.Код работает без нареканий, кроме одного бита.Я собираюсь создать скрипт с помощью pyinstaller, поэтому мне нужно сослаться на haarcascade.

face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_alt.xml')

Это работает, но это:

def resource_path(relative_path):
    try:
        base_path = sys._MEIPASS
    except Exception:
        base_path = os.path.abspath(".")

    return os.path.join(base_path, relative_path)


face_cascade = cv2.CascadeClassifier(resource_path('haarcascade_frontalface_alt.xml'))

нет.Нужна помощь в решении этой проблемы

Вот проблема: haarcascade не будет загружаться, и «deteMultiScale» не будет работать.

То же решение работало для моего другого проекта

Вот ошибка, которую я получаю: [The error I'm getting] Я пытался использовать "face_cascade.load ()", и она работает так:

face_cascade.load('haarcascade_frontalface_alt.xml')

Но опять-таки не работает с функцией resource_path

Делая это

import os.path
print(os.path.isfile(resource_path('haarcascade_frontalface_alt.xml')))

Печатает "True" на консоли

Также я попытался удалить весь код, связанный с обнаружением лиц, и обнаружил, что OpenCV успешно захватывает мою веб-камеру

Вот весь код: если кому-то интереснотрудности с загрузкой файла

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

Избавьтесь от всех кириллических символов на пути к haarcascade, если у вас возникнет эта проблема

0 голосов
/ 17 декабря 2018

Действительно ли файл haarcascade находится в том месте, где вы его ожидаете?

В вашей функции resource_path вы можете проверить, существует ли файл на самом деле по полному пути, который создается, чтобы быть уверенным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...