OpenCV Contribute библиотека
Я пытаюсь использовать LBPHfacerecognizer в моем коде python3.6.
recognizer = cv2.face.createLBPHFaceRecognizer()
Мне известно, что модуль face находится в модуле opencv_contrib. Я даже удалил openCV и снова установил модуль contrib. Я скомпилировал OpenCV с ним, и Python по-прежнему выдает ошибку:
AttributeError: модуль 'cv2.cv2' не имеет атрибута 'face'
Хотя в opencv/build/lib у меня есть libopencv_face.dylib, он не компилируется с python3 и opencv.
Я перепробовал все, что мог придумать, но у меня заканчиваются идеи.
Есть идеи?
edit: Python больше не выдает ошибку, когда я работаю в среде python3, но у меня все еще та же ошибка, когда я пытаюсь запустить свой код в терминале.
Что я пытаюсь запустить:
python3 main.py
Любые идеи, почему у меня есть эта проблема или как я могу это исправить?
2 ответа
Во-первых, моей первой ошибкой было то, что после того, как я несколько раз сделал cmake, я не удалил старый файл cv2.so и заменил его новым cv2.so.
И оказалось, что для работы с открытым модулем opencv_contrib я должен поместить этот новый файл cv2.so в тот же файл, в котором существует мой main.py. Я не знаю, так ли это, как должно быть в первую очередь. Я полностью выясняю это случайно сам.
После этого мой код работал без ошибок.
распознаватель = cv2.createLBPHFaceRecognizer();
Это делает ошибку для меня, я попробовал, просто посмотрите изображение здесь.
Попробуйте приведенный ниже код, он может дать вам результат.
распознаватель = cv2.face.LBPHFaceRecognizer_create();