【问题标题】:while using tensorflow i got errer : int() argument must be a string, a bytes-like object or a number, not 'NoneType'使用 tensorflow 时出现错误:int() 参数必须是字符串、类似字节的对象或数字,而不是“NoneType”
【发布时间】:2021-02-08 18:51:59
【问题描述】:
import cv2
import numpy as np
from os import listdir
from os.path import isfile, join

data_path = 'C:/Users/jeado/Desktop/Facial-Recognition-master/faces'
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]
    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.face.LBPHFaceRecognizer_create()

model.train(np.asarray(Training_Data), np.asarray(Labels))

model.write('LBPHFaceRecognizer.xml')

print("Model Training Complete!!!!!")

#但存在错误 #File "C:\Users\jeado\anaconda3\lib\site-packages\numpy\core_asarray.py",第 85 行,在 asarray 中 返回数组(a, dtype, copy=False, order=order)

#TypeError: int() 参数必须是字符串、类似字节的对象或数字,而不是 'NoneType'

如何解决?请帮帮我

【问题讨论】:

  • 您能否详细说明错误发生在哪一行?

标签: python string integer nonetype


【解决方案1】:

您的代码没有从目录中读取文件的问题, 如果路径是 data_path 是 'C:/Users/jeado/Desktop/Facial-Recognition-master/faces' 还有一个文件叫'hello.png'

当你执行image_path = data_path + onlyfiles[i] 结果路径是'C:/Users/jeado/Desktop/Facial-Recognition-master/faceshello.png' 解决这个问题

import cv2
import numpy as np
from os import listdir
from os.path import isfile, join

data_path = 'C:/Users/jeado/Desktop/Facial-Recognition-master/faces'
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 = join(data_path ,onlyfiles[i])
    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.face.LBPHFaceRecognizer_create()

model.train(np.asarray(Training_Data), np.asarray(Labels))

model.write('LBPHFaceRecognizer.xml')

print("Model Training Complete!!!!!")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-16
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多