Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

OpenCV(3.4.1) Error: ValueError

i am trying to execute following program

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

Path for face image database

path = 'C:\pythonpractice\dataset'

recognizer = cv2.face.LBPHFaceRecognizer_create() detector = cv2.CascadeClassifier("C:\opencv\sources\data\haarcascades\haarcascade_frontalface_alt2.xml");

function to get the images and label data

def getImagesAndLabels(path):

imagePaths = [os.path.join(path,f) for f in os.listdir(path)]     
faceSamples=[]
ids = []

for imagePath in imagePaths:

    PIL_img = Image.open(imagePath).convert('L') # convert it to grayscale
    img_numpy = np.array(PIL_img,'uint8')

    id = int(os.path.split(imagePath)[-1].split(".")[1])
    faces = detector.detectMultiScale(img_numpy)

    for (x,y,w,h) in faces:
        faceSamples.append(img_numpy[y:y+h,x:x+w])
        ids.append(id)

return faceSamples,ids

print ("\n [INFO] Training faces. It will take a few seconds. Wait ...") faces,ids = getImagesAndLabels(path) recognizer.train(faces, np.array(ids))

Save the model into trainer/trainer.yml

recognizer.write('trainer/trainer.yml') # recognizer.save() worked on Mac, but not on Pi

Print the numer of faces trained and end program

print("\n [INFO] {0} faces trained. Exiting Program".format(len(np.unique(ids))))

While executing the program i am getting following error:

Traceback (most recent call last): File "new33.py", line 24, in <module> Ids,faces=getImagesWithID(path) File "new33.py", line 16, in getImagesWithID ID=int(os.path.split(imagePath)[-1].split('.')[1]) ValueError: invalid literal for int() with base 10: 'jpg'

What could be the reason for the error,how should i react to fix it? Thank you for your time and advise,

regards

pooja

OpenCV(3.4.1) Error: ValueError

i am trying to execute following program

import cv2 cv2

import numpy as np np

from PIL import Image Image

import os

Path for face image database

path = 'C:\pythonpractice\dataset'

recognizer = cv2.face.LBPHFaceRecognizer_create() detector = cv2.CascadeClassifier("C:\opencv\sources\data\haarcascades\haarcascade_frontalface_alt2.xml");

function to get the images and label data

def getImagesAndLabels(path):

imagePaths = [os.path.join(path,f) for f in os.listdir(path)]     
faceSamples=[]
ids = []

for imagePath in imagePaths:

    PIL_img = Image.open(imagePath).convert('L') # convert it to grayscale
    img_numpy = np.array(PIL_img,'uint8')

    id = int(os.path.split(imagePath)[-1].split(".")[1])
    faces = detector.detectMultiScale(img_numpy)

    for (x,y,w,h) in faces:
        faceSamples.append(img_numpy[y:y+h,x:x+w])
        ids.append(id)

return faceSamples,ids

print ("\n [INFO] Training faces. It will take a few seconds. Wait ...") faces,ids = getImagesAndLabels(path) recognizer.train(faces, np.array(ids))

Save the model into trainer/trainer.yml

recognizer.write('trainer/trainer.yml') # recognizer.save() worked on Mac, but not on Pi

Print the numer of faces trained and end program

print("\n [INFO] {0} faces trained. Exiting Program".format(len(np.unique(ids))))

While executing the program i am getting following error:

Traceback (most recent call last): File "new33.py", line 24, in <module> Ids,faces=getImagesWithID(path) File "new33.py", line 16, in getImagesWithID ID=int(os.path.split(imagePath)[-1].split('.')[1]) ValueError: invalid literal for int() with base 10: 'jpg'

What could be the reason for the error,how should i react to fix it? Thank you for your time and advise,

regards

pooja

click to hide/show revision 3
None

updated 2018-04-21 02:27:28 -0600

berak gravatar image

OpenCV(3.4.1) Error: ValueError

i am trying to execute following program

import cv2

cv2 import numpy as np

np from PIL import Image

Image import os

# Path for face image database
path = 'C:\pythonpractice\dataset'

'C:\pythonpractice\dataset' recognizer = cv2.face.LBPHFaceRecognizer_create() detector = cv2.CascadeClassifier("C:\opencv\sources\data\haarcascades\haarcascade_frontalface_alt2.xml");

cv2.CascadeClassifier("C:\opencv\sources\data\haarcascades\haarcascade_frontalface_alt2.xml"); # function to get the images and label data def getImagesAndLabels(path):

getImagesAndLabels(path):
imagePaths = [os.path.join(path,f) for f in os.listdir(path)]
 faceSamples=[]
 ids = []
 for imagePath in imagePaths:
  PIL_img = Image.open(imagePath).convert('L') # convert it to grayscale
 img_numpy = np.array(PIL_img,'uint8')
 id = int(os.path.split(imagePath)[-1].split(".")[1])
 faces = detector.detectMultiScale(img_numpy)
 for (x,y,w,h) in faces:
 faceSamples.append(img_numpy[y:y+h,x:x+w])
 ids.append(id)
 return faceSamples,ids

print ("\n [INFO] Training faces. It will take a few seconds. Wait ...") faces,ids = getImagesAndLabels(path) recognizer.train(faces, np.array(ids))

np.array(ids)) # Save the model into trainer/trainer.yml recognizer.write('trainer/trainer.yml') # recognizer.save() worked on Mac, but not on Pi

Pi # Print the numer of faces trained and end program print("\n [INFO] {0} faces trained. Exiting Program".format(len(np.unique(ids))))

Program".format(len(np.unique(ids))))

While executing the program i am getting following error:

Traceback (most recent call last):
File "new33.py", line 24, in <module>
Ids,faces=getImagesWithID(path)
File "new33.py", line 16, in getImagesWithID
ID=int(os.path.split(imagePath)[-1].split('.')[1])
ValueError: invalid literal for int() with base 10: 'jpg'

'jpg'

What could be the reason for the error,how should i react to fix it? Thank you for your time and advise,

regards

pooja