7

所以我正在做一个小小的个人项目,但是当我尝试创建识别器时,我不断收到这个错误。我有 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 版本并运行完全相同的代码。

4

19 回答 19

22

有同样的问题。利用:

recognizer = cv2.face.LBPHFaceRecognizer_create()

它适用于我的程序。

于 2017-08-14T11:45:43.693 回答
8

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

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

识别器由以下方式调用:

recognizer = cv2.face.LBPHFaceRecognizer_create()
于 2018-08-04T16:56:42.190 回答
7

默认情况下,贡献的库缺少一些模块,pip install opencv-python因此您需要pip install opencv-contrib-python

于 2018-04-27T12:14:01.687 回答
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")
于 2018-03-10T11:33:26.137 回答
1

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

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

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

这解决了我的问题。希望它可以帮助某人!另外,如果您使用的是 python2,请将“pip3”替换为“pip”,将“python3”替换为“python”</p>

于 2018-07-25T12:57:34.020 回答
1
recognizer = cv2.face_LBPHFaceRecognizer.create()
于 2020-05-20T14:47:23.363 回答
1
  • 通过命令卸载此软件包(opencv-python):-
  • pip 卸载 opencv-python
  • 使用命令安装库 opencv-contrib python:-
  • 点安装 opencv-contrib-python
  • 然后添加或检查:-
  • 识别器 = cv2.face_LBPHFaceRecognizer.create()
  • 它会正常工作
  • 问题出在 opencv-python 库中 cv2.face 不存在,因此它显示属性丢失问题,因此如果已安装,请通过卸载以前的库来安装新库。
于 2019-10-15T02:46:10.273 回答
1

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

于 2018-02-07T14:06:19.517 回答
1

试试这个它对我有用

pip install --force-reinstall opencv-contrib-python==4.1.2.30
于 2020-04-01T00:35:47.550 回答
1

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

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

在python中检查opencv版本

import cv2

cv2.__version__

1)sudo pip install opencv-contrib-python

*在此之后,我无法在 python 中导入 cv2,直到我安装了以下内容。

2)sudo apt-get update

3)sudo apt-get install libhdf5-dev

4)sudo apt-get update

5)sudo apt-get install libhdf5-serial-dev libqtgui4 libqt4-test

于 2018-07-12T21:54:37.477 回答
0

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

于 2018-05-07T07:12:58.287 回答
0

我通过安装解决了这个问题: sudo pip install opencv-contrib-python.

然后寻找正确的格式。

python2是默认的

基本上问题是python3和python2有不同的代码格式。

recognizer = cv2.face.LBPHFaceRecognizer_create()

这是python2的格式。

recognizer = cv2.face.createLBPHFaceRecognizer()

这是python3的格式

于 2019-06-16T07:18:09.197 回答
0

即使我在使用Jupyter Notebook运行代码时也遇到了这个问题。如果您在Jupyter Notebook上运行它,则将其下载为pyhton(.py)文件并尝试在 Anaconda Prompt 或 Command Prompt 中运行它。这为我解决了这个问题。谢谢你。

于 2019-07-26T17:29:50.887 回答
0

write

pip install opencv-contrib-python --upgrade

if gives error then write

pip install opencv-contrib-python --user

it will work fine for cv2.face.LBPHFaceRecognizer_create()

于 2021-01-15T17:53:34.827 回答
0

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

然后你可以简单地做: recognizer = cv2.face.LBPHFaceRecognizer_create()

于 2020-04-21T19:57:02.540 回答
0

在我的命令提示符中安装以下这些命令后,我也面临同样的问题。

> pip install opencv-contrib-python
> pip install opencv-contrib-python --user

在jupyter notebook中遇到以下错误。

培训完成--------------

-------------------------------------------------- ------------------------- AttributeError Traceback(最近一次调用最后一次)~\AppData\Local\Temp/ipykernel_4424/3540845204.py in 40 个标签 = np.array(labels) 41 ---> 42 face_recognizer = cv.face.LBPHFaceRecognizer_create() 43 44 # 在特征列表和标签列表上训练识别器

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

在我尝试使用Visual Studio 代码后,但请确保您在命令提示符或终端中使用以下确认命令运行。

我会建议你在命令提示符下尝试。

Microsoft Windows [Version 10.0.19043.1348]
(c) Microsoft Corporation. All rights reserved.

C:\Users\Admin>python
Python 3.10.1 (tags/v3.10.1:2cd268a, Dec  6 2021, 19:10:37) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> print(cv2.__version__)
4.5.5
>>> **recognizer = cv2.face.LBPHFaceRecognizer_create()**
>>> **print(recognizer)**
**<face_LBPHFaceRecognizer 000001F890F3D8D0>**
>>>

成功解决此问题后,我得到了以下输出。

      on.exe' 'c:\Users\Admin\.vscode\extensions\ms-python.python-2021.12.1559732655\pythonFiles\lib\python\debugpy\launcher'
  '55275' '--' 'c:\Users\Admin\Downloads\Opencv\Faces\face.py' 
  >   Training done ---------------
   
      PS C:\Users\Admin\Downloads\Opencv\Faces>  c:; cd 'c:\Users\Admin\Downloads\Opencv\Faces'; & 'C:\Program
  Files\Python310\pyth0' '--'
  'c:\Users\Admin\Downloads\Opencv\Faces\face_recognization1.py' 
  >   Label = Elton John with a confidence of 0.0
  >   Label = Elton John with a confidence of 0.0

   on.exe'
     'c:\Users\Admin\.vscode\extensions\ms-python.python-2021.12.1559732655\pythonFiles\lib\python\debugpy\launcher'
     '55339' '--'
     'c:\Users\Admin\Downloads\Opencv\Faces\face_recognization1.py'
  >   Label = nidhi agarwal with a confidence of 0.0
于 2022-01-25T11:05:16.113 回答
0

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

于 2017-08-14T02:56:21.010 回答
0

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

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

于 2021-06-27T07:08:30.630 回答
0

安装opencv-contrib-python解决了这个问题。我只安装了opencv-python,安装opencv-contrib-python后,解决了这个问题。

pip install opencv-contrib-python
于 2020-04-14T12:19:51.710 回答