OpenCV: AttributeError: module 'cv2' has no attribute 'face'

OpenCV: AttributeError: module 'cv2' has no attribute 'face'

我正在这些版本上使用 Python 和 OpenCV 创建人脸识别系统:

当我尝试训练面部识别器时:

face_recognizer = cv2.face.createLBPHFaceRecognizer()

我收到这个错误:

AttributeError: module 'cv2' has no attribute 'face'

更新:

我试过这样做:

pip install opencv_python‑3.3.0+contrib‑cp36‑cp36m‑win_amd64.whl

另外:

conda install -c menpo opencv3=3.3.0

我仍然有错误。

Menpo 项目没有 OpenCV 3.3 的安装程序。 Menpo 项目在 macOS 和 Windows 上最高为 3.1,在 Linux 上最高为 3.2。请参阅 Menpo 的 OpenCV3 构建的 Anaconda package for that description and also the list of files for the installer versions. Actually, you can check out the GitHub repo 并自行获取文件。如果需要,您可以更改构建文件以适合您的系统。

我不确定您的 pip 尝试是否包含拼写错误---带有 contrib 模块的正确 PyPI 包 wheel 文件是 opencv_contrib_python 而不是 opencv_python+contrib,如 PyPI 所示。请注意,如果您不使用 Windows,OpenCV 的 GUI 功能将无法与 pip 安装程序一起使用,包括 imshow() 和其他类似功能。

你最好只删除并重新安装新的 contrib 模块,而不是稍后尝试构建它们。

我找到了问题的解决方案,您必须按照本教程进行操作 OpenCV with extra modules

基本步骤是:

  • 转到 C:/PythonXX/lib/site-packeges(安装 python 的站点包文件夹),如果存在 cv2.pyd 则删除。
  • 下载带有额外模块的 OpenCV
  • 使用 CMake 创建一个 Visual Studio 项目
  • 打开Python IDLE 并输入import cv2。如果没有报错,则安装成功。

我使用 python 2.7 和 opencv 3.3.0 在代码中工作

cv2.face.LBPHFaceRecognizer_create(); 

虽然我在寻找相同的解决方案,但我尝试了很多方法,但这些方法无法成功安装 OpenCV 以及额外的模块,即 OpenCV Contrib。

显然,在使用 pip install opencv-python windows 平台时,通常只下载没有额外模块的 OpenCV!

有效、稳定且易于安装的方法:

  1. 下载包含 OpenCV 及其 Contrib 文件的集成 'whl' 文件,类似于可以从 here.
  2. 下载的 'opencv_python‑3.4.3+contrib‑cp36‑cp36m‑win_amd64.whl'
  3. 使用 pip install <whl filename>
  4. 安装

我尝试过其他不可靠的方法,例如@RoyaumeIX 所建议的解决方案,但最终以失败告终。

using也是如此

pip install opencv
pip install opencv-contrib

安装 opencv-contrib 没有正确注册 opencv 包。

强烈建议大家直接下载官方whl文件安装

解决方案,在 OpenCV forum (and same at Whosebug) 找到,对我来说效果很好:

pip install opencv-python
pip install opencv_contrib_python

并且在cv2版本4.0.0中可以使用不同的函数名创建人脸识别器,如:

face_recognizer = cv2.face.LBPHFaceRecognizer_create()
face_recognizer = cv2.face.EigenFaceRecognizer_create()
face_recognizer = cv2.face.FisherFaceRecognizer_create()

我也遇到了同样的问题,但是按照以下步骤解决了:

  1. 启动anaconda navigator

  2. 打开CMD.exe提示,希望你能看到这个 **(base) C:\Users\acer>**这可能对你有所不同

  3. 写这些命令>>>**pip install opencv-contrib-python**

  4. 现在您可以运行您的代码作为检查!!我在基础环境中 运行 在 Spyder 中编写了我的代码,它对我有用!

这应该可以解决问题

pip install opencv-python-headless
pip install opencv-contrib-python-headless