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

Posted

技术标签:

【中文标题】OpenCV:AttributeError:模块\'cv2\'没有属性\'face\'【英文标题】:OpenCV: AttributeError: module 'cv2' has no attribute 'face'OpenCV:AttributeError:模块'cv2'没有属性'face' 【发布时间】:2018-02-27 12:25:50 【问题描述】:

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

Python 3.6.2 :: Anaconda 自定义(64 位) Anaconda 4.3.23 OpenCV 3.3.0

当我尝试训练人脸识别器时:

face_recognizer = cv2.face.createLBPHFaceRecognizer()

我收到此错误:

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

更新:

我试过这样做:

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

还有:

conda install -c menpo opencv3=3.3.0

我仍然有错误。

【问题讨论】:

【参考方案1】:

这应该可以解决问题

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

【讨论】:

【参考方案2】:

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

    启动 anaconda 导航器

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

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

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

【讨论】:

【参考方案3】:

在OpenCV forum(和same at ***)找到的解决方案对我很有效:

pip install opencv-python
pip install opencv_contrib_python

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

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

【讨论】:

【参考方案4】:

当我在寻找相同的解决方案时,我尝试了许多方法,但这些方法在成功安装 OpenCV 以及额外的模块(即 OpenCV Contrib)时效果不佳。

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

有效、稳定且易于安装:

    下载包含 OpenCV 及其 Contrib 文件的集成“whl”文件,类似于“opencv_python‑3.4.3+contrib‑cp36‑cp36m‑win_amd64.whl”,可从here下载。李> 使用pip install <whl filename>安装

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

使用也是如此

pip install opencv
pip install opencv-contrib

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

强烈建议你直接下载官方whl文件并安装。

【讨论】:

【参考方案5】:

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

cv2.face.LBPHFaceRecognizer_create(); 

【讨论】:

【参考方案6】:

我找到了我的问题的解决方案,你必须按照这个教程OpenCV with extra modules。

基本步骤是:

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

【讨论】:

【参考方案7】:

Menpo 项目没有 OpenCV 3.3 的安装程序。 Menpo 项目在 macOS 和 Windows 上最高为 3.1,在 Linux 上最高为 3.2。有关该说明,请参阅 Anaconda package 以及有关安装程序版本的 list of files。实际上,您可以查看 GitHub repo 以获得 Menpo 的 OpenCV3 构建并自己获取文件。如果需要,您可以更改构建文件以适合您的系统。

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

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

【讨论】:

以上是关于OpenCV:AttributeError:模块'cv2'没有属性'face'的主要内容,如果未能解决你的问题,请参考以下文章

虚拟环境上的 Opencv3 和 Python 2.7 - AttributeError:“模块”对象没有属性“createLBPHFaceRecognizer”

OpenCV AttributeError 模块“cv2.cv2”没有属性“Tracker_create”

AttributeError:“模块”对象没有属性“SVM_LINEAR”

AttributeError:模块'cv2.cv2'没有属性'cv'(类似的主题没有帮助)

报错信息:AttributeError: module ‘cv2‘ has no attribute ‘face‘

报错信息:AttributeError: module ‘cv2‘ has no attribute ‘face‘