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'(类似的主题没有帮助)