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();

Другие вопросы по тегам