我在python中编写了一个人脸识别器,但我在训练部分遇到了麻烦 .
import cv2
import numpy as np
from os import listdir
from os.path import isfile, join
data_path = '/home/pi/Desktop/data'
onlyfiles = [f for f in listdir(data_path) if isfile(join(data_path, f))]
Training_Data, Labels = [],[]
for i, files in enumerate(onlyfiles):
image_path = data_path + onlyfiles[i]
print(image_path)
images = cv2.imread(image_path, cv2.IMREAD_GRAYSCALE)
Training_Data.append(np.asarray(images, dtype=np.uint8))
Labels.append(i)
Labels = np.asarray(Labels, dtype=np.int32)
model = cv2.createLBPHFaceRecognizer()
model.train( np.asarray(Training_Data) ,np.asarray(Labels) )
print("done")
当我运行它时,我收到此错误:
回溯(最近一次调用最后一次):文件“Train_Model.py”,第17行,在Training_Data.append中(np.asarray(images,dtype = np.uint8))文件“/usr/lib/python2.7/dist- packages / numpy / core / numeric.py“,第460行,在asarray中返回数组(a,dtype,copy = False,order = order)TypeError:long()参数必须是字符串或数字,而不是'NoneType'
谢谢 .