向我展示了以下问题:让我帮助您解决。谢谢。
#Traceback (most recent call last):
#File "C:/Users/Admin/PycharmProjects/frec/part3.py", line 15, in
#<module>
#Training_Data.append(np.asarray(images, dtype=np.uint8))
#File "C:\Users\Admin\.virtualenvs\frec\lib\site-
#packages\numpy\core\numeric.py", line 538, in asarray
#return array(a, dtype, copy=False, order=order)
#TypeError: int() argument must be a string, a bytes-like object or a
#number,
#not 'NoneType'
我什么都不知道如何找到解决方案。
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)
不知道。
答案 0 :(得分:0)
索引可能位于for循环中。 2期。
1)for循环的主体没有缩进。您所显示的代码不会在最后4行上循环。如果希望在循环的上下文中对它们进行评估,则需要缩进它们。否则,将不会定义索引,i和文件。
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)
2)您有2个索引,但仅使用1。是否定义了files
,还是无关紧要的?如果多余的话,您认为要纳入i
的内容可能实际上已纳入files
。
在任何情况下,都会为变量分配一个None值。您需要找出哪一个。