Opencv contrib face库

问题描述 投票:0回答:2

我试图在我的python3.6代码中使用LBPHfacerecognizer。

recognizer = cv2.face.createLBPHFaceRecognizer()

我知道face模块在opencv_contrib模块中。我甚至卸载了openCV并再次使用contrib模块安装。我用它编译了OpenCV,python仍然给出了一个错误:

AttributeError:模块'cv2.cv2'没有属性'face'

虽然在opencv / build / lib中我有libopencv_face.dylib,但它不能用python3和opencv编译。

我尝试了所有我能想到的但是我的想法已经不多了。

有任何想法吗?

编辑:当我在python3环境下工作时,Python不会出错,但是当我尝试在终端中运行我的代码时,我仍然有同样的错误。

我想要运行的是什么:

python3 main.py

任何想法为什么我有这个问题或我如何解决它?

python macos opencv python-3.6 opencv-contrib
2个回答
0
投票

首先,我的第一个错误是在进行几次cmake之后,我没有删除旧的cv2.so文件并用新的cv2.so替换它。

事实证明,对于工作opencv_contrib面部模块,我必须将这个新的cv2.so文件放在我的main.py存在的同一个文件中。我不知道这是不是第一个应该是这样的方式。我完全自己发现了这一点。

在此之后,我的代码工作没有任何错误。


0
投票

recognizer = cv2.createLBPHFaceRecognizer();

这让我错误I tried out, just view the image here.

试试下面的代码,它可能会给你结果。

recognizer = cv2.face.LBPHFaceRecognizer_create();

© www.soinside.com 2019 - 2024. All rights reserved.