img_size = 320
def load_img(path):
img = Image.open(path)
if img is None:
raise ValueError(f"Empty Image at {path}")
img = img.convert("RGB")
return img
def load_data(path_list, gray=False, img_size=256):
data = []
for path in tqdm(path_list):
img = load_img(path)
if gray:
img = img.convert("L")
img = img.resize((img_size, img_size))
img_array = np.array(img)
if gray:
img_array = img_array.reshape((img_size, img_size, 1))
data.append(img_array)
return np.array(data)
X_train= load_data([images_dir +"/"+ x for x in X_train])
X_test= load_data([images_dir +"/"+ x for x in X_test])
Y_train= load_data([masks_dir + '/' + x for x in y_train], gray=True)/255.0
Y_test= load_data([masks_dir + '/' + x for x in y_test], gray=True)/255.0
Y_train= Y_train.reshape( -1,img_size, img_size, 1)
错误
----> 1 Y_train= Y_train.reshape( -1,img_size, img_size, 1)
2
3
ValueError: cannot reshape array of size 983040 into shape (320,320,1)
当我保持图像大小256然后代码运行良好,但当我改变它小于256或大于320它产生错误,有人能告诉我什么是问题
1条答案
按热度按时间n3h0vuf21#
320 * 320 * 1 = 102400
(320, 320, 1)
,则需要确保调整大小后的图像的尺寸为320x320
。256x256
。如果要将图像大小更改为小于256
或大于320
,则需要确保原始图像的尺寸与所需大小匹配。