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

Zac*_*did 4 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()
Run Code Online (Sandbox Code Playgroud)

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

小智 17

有同样的问题.使用:

recognizer = cv2.face.LBPHFaceRecognizer_create()
Run Code Online (Sandbox Code Playgroud)

它适用于我的程序.

  • 那就修好了!谢谢,如果你不介意我问的话,你是从哪里找到这些信息的?我在任何地方都找不到这个。 (2认同)

Sim*_*tsi 7

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


Pet*_*ter 7

在 Windows 7 下,我只需卸载并重新安装 opencv 即可解决该问题:

pip uninstall opencv-contrib-python
pip install opencv-contrib-python
Run Code Online (Sandbox Code Playgroud)

识别器被调用:

recognizer = cv2.face.LBPHFaceRecognizer_create()
Run Code Online (Sandbox Code Playgroud)


Aqu*_*uib 0

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