AttributeError: объект 'модуль' не имеет атрибута 'createFisherFaceRecognizer'

Я использую Ubuntu 16.04 (64bit) python2.7 Open-CV 3.1.0. Я выполнил шаги по загрузке дополнительных модулей Repository для Open-CV, чтобы активировать эту функцию через https://github.com/opencv/opencv_contrib, однако я получил ту же ошибку, я также попытался использовать последнюю версию Open-CV 3.2.0 вместо 3.1 .0, но у меня такая же ошибка:

AttributeError: 'module' object has no attribute 'createFisherFaceRecognizer'.

Часть моего кода:

import numpy as np
import cv2
import sys
import os
class TrainFisherFaces:
    def __init__(self):
        cascPath = "haarcascade_frontalface_default.xml"
        self.face_cascade = cv2.CascadeClassifier(cascPath)
        self.face_dir = 'data'
        self.face_name = sys.argv[1]
        self.path = os.path.join(self.face_dir, self.face_name)
        if not os.path.isdir(self.path):
            os.mkdir(self.path)
        self.model = cv2.createFisherFaceRecognizer()

person Bolly    schedule 03.02.2017    source источник


Ответы (3)


Кажется, что createFisherFaceRecognizer () находится в подмодуле cv2.face в python. Чтобы получить к нему доступ, вы должны cv2.face.createFisherFaceRecognizer ().

Источник:

Адаптировано из учебника пример для распознавания лиц в C ++. У меня есть установка, описанная в вопросе, и я ее проверил.

person NAmorim    schedule 03.02.2017
comment
Это дает мне эту ошибку: AttributeError: объект 'module' не имеет атрибута 'face' - person Bolly; 03.02.2017
comment
Это странно. У меня точно такая же конфигурация, что и у вас с OpenCV 3.1. У меня отлично работает, если я вызываю createFisherFaceRecognizer () из модуля cv2.face. - person NAmorim; 04.02.2017
comment
Спасибо, я обнаружил, что я неправильно удалил свой старый OpenCV, после того, как правильно загрузил его снова, следуя инструкциям и добавив cv2.face, он, вероятно, сработал! - person Bolly; 24.02.2017

Я выполнил инструкции здесь: https://pypi.python.org/pypi/opencv-contrib-python

И просто нужно сделать: pip install opencv-contrib-python

Кроме того, мне пришлось использовать cv2.face.FisherFaceRecognizer_create ()

person Dom045    schedule 07.12.2017

У меня была такая же проблема, и я исправил ее следующим образом:

self.model = cv2.face.FisherFaceRecognizer_create()
person gg1    schedule 02.11.2018