attributeerror:module' cv2.face'没有属性' createlbphfacerecognizer'

时间:2017-08-12 23:10:56

标签: python python-3.x opencv3.0 opencv-contrib

所以我正在做一个小小的个人项目,但是当我尝试创建识别器时,我不断收到此错误。我有opencv-contrib和一切。有谁知道发生了什么?代码发布在下面

import cv2, os
import numpy as np
from PIL import Image

cascadePath = "haarcascade_frontalface_default.xml"
faceCascade = cv2.CascadeClassifier(cascadePath)

recognizer = cv2.face.createLBPHFaceRecognizer()

它被最后一行抓住了。我已经尝试重新安装所有模块。不确定还能做什么。奇怪的是它适用于我的笔记本电脑但不适用于我的桌面。它们都具有相同的模块,相同的python版本并运行完全相同的代码。

18 个答案:

答案 0 :(得分:17)

有同样的问题。使用:

recognizer = cv2.face.LBPHFaceRecognizer_create()

它适用于我的程序。

答案 1 :(得分:4)

默认pip install opencv-python中提供的库有一些缺少的模块,因此您需要pip install opencv-contrib-python

答案 2 :(得分:4)

在Windows 7下,我可以通过简单地卸载并重新安装opencv来解决此问题:

pip uninstall opencv-contrib-python
pip install opencv-contrib-python

识别器的调用者:

recognizer = cv2.face.LBPHFaceRecognizer_create()

答案 3 :(得分:2)

尝试通过" python -m pip install opencv-contrib-python"来更新你的opencv。 ps:您必须从Python代表中删除CV2存储库,然后运行此命令(在CMD窗口中),如果它不起作用

答案 4 :(得分:1)

尝试使用它:

import cv2
import os
import numpy as np
from PIL import Image

# Path for face image database
path = 'dataset'
recognizer = cv2.face_LBPHFaceRecognizer.create()
detector = cv2.CascadeClassifier("haarcascade_frontalface_default.xml")

答案 5 :(得分:1)

recognizer = cv2.face_LBPHFaceRecognizer.create()

答案 6 :(得分:1)

尝试一下对我有用

pip install --force-reinstall opencv-contrib-python==4.1.2.30

答案 7 :(得分:0)

默认 pip install opencv-python-contrib 中缺少一些用于贡献库的模块,因此您需要 pip install opencv-contrib-python --upgrade

这将下载一个 41.5MB 的文件并将其安装在您的 python 包文件夹中,之后您可以通过简单地首先“导入 cv2”然后输入“print(dir(cv2.face))”进行检查,这将返回一个列表cv2.face 中的属性将包括“createlbphfacerecognizer”

答案 8 :(得分:0)

您正在使用Opencv 3.x,在新版本中已删除了一些模块。您有两种选择: 1.将opencv_contrib模块添加到现有的opencv 3.x版本中。 这是链接https://github.com/opencv/opencv_contrib 2.您可以使用旧版本的Opencv。像opencv 2.4.x

答案 9 :(得分:0)

pip install opencv-contrib-python --upgrade

如果给出错误然后 写

pip install opencv-contrib-python --user

它适用于 cv2.face.LBPHFaceRecognizer_create()

答案 10 :(得分:0)

如果您使用的是python3,请使用pip3代替pip: pip3 install opencv-contrib-python

然后,您可以简单地执行以下操作: recognizer = cv2.face.LBPHFaceRecognizer_create()

答案 11 :(得分:0)

安装 opencv-contrib-python 解决了该问题。 我只安装了opencv-python,在安装opencv-contrib-python之后,解决了该问题。

pip install opencv-contrib-python

答案 12 :(得分:0)

  • 通过命令:-
  • 卸载此软件包(opencv-python)
  • pip卸载opencv-python
  • 使用命令:-
  • 安装库opencv-contrib python
  • pip install opencv-contrib-python
  • 然后添加或检查:-
  • recognizer = cv2.face_LBPHFaceRecognizer.create()
  • 它将正常工作
  • 问题出在opencv-python库cv2.face中,因此它显示属性缺失问题,因此,请先卸载上一个lib,再安装新的lib(如果已安装)。

答案 13 :(得分:0)

即使我使用 Jupyter Notebook 运行代码时,也遇到了这个问题。 如果您在 Jupyter Notebook 上运行它,则将其下载为 pyhton(.py)文件,然后尝试在Anaconda提示符或命令提示符下运行。这为我解决了问题。 谢谢。

答案 14 :(得分:0)

我通过安装以下内容解决了此问题: sudo pip install opencv-contrib-python

然后寻找正确的格式。

  

python2为默认

基本上,问题在于python3和python2具有不同的代码格式。

recognizer = cv2.face.LBPHFaceRecognizer_create()

这是python2的格式。

recognizer = cv2.face.createLBPHFaceRecognizer()

这是python3的格式

答案 15 :(得分:0)

我用两个命令解决了这个问题:

第一位:sudo pip3 uninstall opencv-contrib-python

第二:sudo python3 -m pip install opencv-contrib-python==3.3.0.9

这解决了我的问题。希望对您有所帮助! 另外,如果您使用的是python2,则将“ pip3”替换为“ pip”,将“ python3”替换为“ python”

答案 16 :(得分:0)

我在运行opencv 3.4.1版本时遇到此问题。这就是我所做的。

规格: Raspberry pi 3B,操作系统:Raspbian,版本:9(Stretch),Python 3,opencv版本3.4.1

  

在python中检查opencv版本

     

void LinkedList::insertToFront(const ItemType& val) { Node* temp = new Node(val); if (!tail) tail = temp; // make new node tail if list is empty if (head) { temp->next = head; // point current head towards temp head->prev = temp; } head = temp; } void LinkedList::addToEnd(const ItemType& val) { Node* temp = new Node(val); if (!head) head = temp; // make new node head if list is empty if (tail) { temp->prev = tail; // point current tail towards temp tail->next = temp; } tail = temp; }

     

import cv2

1)cv2.__version__

*此后,直到安装以下组件,我才能在python中导入cv2。

2)sudo pip install opencv-contrib-python

3)sudo apt-get update

4)sudo apt-get install libhdf5-dev

5)sudo apt-get update

答案 17 :(得分:0)

打开cmd,然后 - > pip install opencv-contrib-python