OpenCV: AttributeError: module 'cv2' has no attribute 'face'
OpenCV: AttributeError: module 'cv2' has no attribute 'face'
我正在这些版本上使用 Python 和 OpenCV 创建人脸识别系统:
- Python 3.6.2 :: Anaconda 自定义(64 位)
- 蟒蛇 4.3.23
- OpenCV 3.3.0
当我尝试训练面部识别器时:
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!
有效、稳定且易于安装的方法:
- 下载包含 OpenCV 及其 Contrib 文件的集成 'whl' 文件,类似于可以从 here.
下载的 'opencv_python‑3.4.3+contrib‑cp36‑cp36m‑win_amd64.whl'
- 使用
pip install <whl filename>
安装
我尝试过其他不可靠的方法,例如@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()
我也遇到了同样的问题,但是按照以下步骤解决了:
启动anaconda navigator
打开CMD.exe提示,希望你能看到这个 **(base) C:\Users\acer>**
这可能对你有所不同
写这些命令>>>**pip install opencv-contrib-python**
现在您可以运行您的代码作为检查!!我在基础环境中 运行 在 Spyder 中编写了我的代码,它对我有用!
这应该可以解决问题
pip install opencv-python-headless
pip install opencv-contrib-python-headless
我正在这些版本上使用 Python 和 OpenCV 创建人脸识别系统:
- Python 3.6.2 :: Anaconda 自定义(64 位)
- 蟒蛇 4.3.23
- OpenCV 3.3.0
当我尝试训练面部识别器时:
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!
有效、稳定且易于安装的方法:
- 下载包含 OpenCV 及其 Contrib 文件的集成 'whl' 文件,类似于可以从 here. 下载的 'opencv_python‑3.4.3+contrib‑cp36‑cp36m‑win_amd64.whl'
- 使用
pip install <whl filename>
安装
我尝试过其他不可靠的方法,例如@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()
我也遇到了同样的问题,但是按照以下步骤解决了:
启动anaconda navigator
打开CMD.exe提示,希望你能看到这个
**(base) C:\Users\acer>**
这可能对你有所不同写这些命令>>>
**pip install opencv-contrib-python**
现在您可以运行您的代码作为检查!!我在基础环境中 运行 在 Spyder 中编写了我的代码,它对我有用!
这应该可以解决问题
pip install opencv-python-headless
pip install opencv-contrib-python-headless