codingforentrepreneurs / OpenCV-Python-Series

An OpenCV & Python Tutorial Series and Reference.
401 stars 549 forks source link

cv2.cv2' has no attribute 'face' #9

Closed akhtarusafzai closed 5 years ago

akhtarusafzai commented 5 years ago

Hello @codingforentrepreneurs , I am using the same code as of yours and when I run it it shows me the following capture

Here is the code `import cv2 import os import numpy as np from PIL import Image import pickle

BASE_DIR = os.path.dirname(os.path.abspath(file)) image_dir = os.path.join(BASE_DIR, "images")

face_cascade = cv2.CascadeClassifier('cascades/data/haarcascade_frontalface_alt2.xml') recognizer = cv2.face.LBPHFaceRecognizer_create()

current_id = 0 label_ids = {} y_labels =[] x_train = []

for root, dirs, files in os.walk(image_dir): for file in files: if file.endswith(".png") or file.endswith(".jpg"): path = os.path.join(root, file) label = os.path.basename(os.path.dirname(path)).replace(" ", "-"). lower()

print(label, path)

        if not label in label_ids:
            label_ids[label] = current_id
            current_id +=1
        id_ = label_ids[label]

        pil_image = Image.open(path).convert("L")
        image_array = np.array(pil_image, "uint8")
        #print(image_array)
        faces = face_cascade.detectMultiScale(image_array, scaleFactor=1.5, minNeighbors=5)
        for (x,y,w,h) in faces:
            roi = image_array[y:y+h, x:x+w]
            x_train.append(roi)
            y_labels.append(id)

with open("labels.pickle", 'wb') as f: pickle.dump(label_ids, f)

recognizer.train(x_train, np.array(y_labels)) recognizer.save("trainner.yml")`

SarthakDandriyal commented 5 years ago

hey maybe there is some error in installing opencv what is why you are getting cv2.cv2 maybe you have installed multiple times .try removing the current opencv from your environment and install it using conda as installing it through conda is much easier compared to installing in through pip.

Keyoli commented 5 years ago

Did your cv2 file exist?

RiaDhanani commented 5 years ago

I have the same issue . Any solution yet ?

SinghHimadri commented 5 years ago

1) use pip uninstall opencv-python 2)use pip install opencv-contrib-python 3)Update attributes "Python -m pip install opencv-contrib-python"

knownstranger03 commented 5 years ago

just use conda install opencv,-contrib-python this should solve the issue for anyone on jupyter notebook with anaconda