【问题标题】: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

我仍然有错误。

【问题讨论】:

    标签: python python-3.x opencv opencv3.0 face-recognition


    【解决方案1】:

    这应该可以解决问题

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

    【讨论】:

      【解决方案2】:

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

      1. 启动 anaconda 导航器

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

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

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

      【讨论】:

        【解决方案3】:

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

        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!

          有效、稳定且易于安装:

          1. 下载包含 OpenCV 及其 Contrib 文件的集成“whl”文件,类似于“opencv_python‑3.4.3+contrib‑cp36‑cp36m‑win_amd64.whl”,可从here下载。李>
          2. 使用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 模块,而不是稍后尝试构建它们。

                【讨论】:

                  猜你喜欢
                  • 2019-03-05
                  • 2019-06-07
                  • 2019-11-13
                  • 2018-12-18
                  • 1970-01-01
                  • 2018-01-21
                  • 2019-08-14
                  • 2019-11-26
                  相关资源
                  最近更新 更多