我不能将图像的像素数据保存到列表中吗?
GmdMiss_Folder = os.path.join(os.getcwd(), '..', 'Photo', 'GMD Miss')
GmdMiss_List = os.listdir(GmdMiss_Folder)
for i in range(0, len(GmdMiss_List)):
Img_Miss_List[i] = np.array(cv2.imread(os.path.join(os.getcwd(), GmdMiss_Folder, GmdMiss_List[i]), cv2.IMREAD_GRAYSCALE))
IndexError:列表分配索引超出范围
答案 0 :(得分:0)
您可以在python列表中存储任意对象,因此这不是问题。您确定Img_Miss_List
已被初始化为多个空白列表吗?如果要使用索引分配,则要设置元素i-1
,列表的长度必须至少为i
。可以将列表初始化为相同的长度:Img_Miss_list = [None] * len(GmdMiss_List)
,或者只是将元素附加到空列表中:
Img_Miss_List = []
for file in GmdMiss_list:
Img_Miss_List.append(
np.array(cv2.imread(os.path.join(
os.getcwd(), GmdMiss_Folder, file), cv2.IMREAD_GRAYSCALE))
答案 1 :(得分:0)
我认为问题出在Img_Miss_List
。没有内容,我假设您创建了一个空列表,如下所示:
Img_Miss_List = []
因此您只能追加一个空列表,而不能使用索引。
如何尝试:
Img_Miss_List = []
for i in range(0, len(GmdMiss_List)):
Img_Miss_List.append(np.array(cv2.imread(os.path.join(os.getcwd(), GmdMiss_Folder, GmdMiss_List[i]), cv2.IMREAD_GRAYSCALE)))
希望有帮助。