[Solved] attributeerror: module ‘cv2.face’ has no attribute ‘createlbphfacerecognizer’

So i’m doing a little personal project but i keep getting this error when I try to create the recognizer. i have opencv-contrib and everything. Does anyone know whats going on? code posted below

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

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

recognizer = cv2.face.createLBPHFaceRecognizer()

it gets caught on that last line. I’ve tried reinstalling all modules already. Not really sure what else to do. The weird thing is it works on my laptop but not my desktop. They both have the same modules, same python release and running the exact same code.

Solution #1:

Had the same problem. Use:

recognizer = cv2.face.LBPHFaceRecognizer_create()

It worked for my program.

Respondent: Peter

Solution #2:

There are some missing modules for contributed libraries in the default pip install opencv-python so you need pip install opencv-contrib-python

Solution #3:

Under Windows 7, I was able to resolve the issue by simply uninstalling and re-installing opencv:

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

The recogniser is called by:

recognizer = cv2.face.LBPHFaceRecognizer_create()
Respondent: Peter

Solution #4:

Try to update your opencv by “python -m pip install opencv-contrib-python”
ps: you have to delete the CV2 repository from the Python rep and then run this command (in the CMD windows) if it doesn’t work

Respondent: tawfik mourchid

Solution #5:

Try to use this:

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")
Respondent: Sebastian

Solution #6:

I had this problem running opencv Version 3.4.1. Here is what I did.

SPECS:
Raspberry pi 3B, OS: Raspbian, Version: 9 (Stretch), Python 3, opencv Version 3.4.1

Check opencv version in python

import cv2

cv2.__version__

1) sudo pip install opencv-contrib-python

*After this I could not import cv2 in python until I installed the following.

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

Respondent: WannaB_robot

Solution #7:

I fixed this issue with two commands:

First: sudo pip3 uninstall opencv-contrib-python

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

This fixed my issues. Hope it helps somebody!
Also, if you are using python2, replace “pip3” with “pip” and “python3” with “python”

Respondent: Chandan Gupta

Solution #8:

try this it worked for me

pip install --force-reinstall opencv-contrib-python==4.1.2.30
Respondent: yogesh jadhav

Solution #9:

recognizer = cv2.face_LBPHFaceRecognizer.create()
Respondent: SRINIVAS jhonny

Solution #10:

You are using Opencv 3.x, in the new version few modules has been removed. You have two options:
1. Add opencv_contrib module to your existing opencv 3.x version.
Here’s the link https://github.com/opencv/opencv_contrib
2.you can use older versions of Opencv. Like opencv 2.4.x

Respondent: Aquib

Solution #11:

open cmd , then –> pip install opencv-contrib-python

Solution #12:

I fixed this issue by installing:
sudo pip install opencv-contrib-python.

Then look for correct format.

python2 is default

Basically the problem is that python3 and python2 have different format of code.

recognizer = cv2.face.LBPHFaceRecognizer_create()

This is the format of python2.

recognizer = cv2.face.createLBPHFaceRecognizer()

This is the format of python3

Respondent: Closed Eagle

Solution #13:

Even I had this problem when I ran the code using Jupyter Notebook.
If you are running it on Jupyter Notebook , then download it as pyhton(.py) file and try to run it in Anaconda Prompt or Command Prompt. This solved the problem for me.
Thank You.

Respondent: Subham Sarkar

Solution #14:

  • Uninstall this package (opencv-python) by command :-
  • pip uninstall opencv-python
  • Install the library opencv-contrib python using command :-
  • pip install opencv-contrib-python
  • then add or check :-
  • recognizer = cv2.face_LBPHFaceRecognizer.create()
  • It will work fine
  • The problem was in opencv-python library cv2.face is not present so it shows attribute missing problem, so install new lib by uninstalling previous one if installed..
Respondent: NirdoSh Thakur

Solution #15:

Installing opencv-contrib-python solved the issue.
I had installed only opencv-python, After Installing opencv-contrib-python, solved the issue.

pip install opencv-contrib-python
Respondent: Aashutosh

Solution #16:

If you are using python3 use pip3 instead of pip:
pip3 install opencv-contrib-python

Then you can simply do:
recognizer = cv2.face.LBPHFaceRecognizer_create()

Respondent: Harsh Titoria

Solution #17:

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()

Respondent: inhok

The answers/resolutions are collected from stackoverflow, are licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0 .

Leave a Reply

Your email address will not be published.