【问题标题】:ValueError: could not broadcast input array from shape (128,128,3) into shape (128,128)ValueError:无法将输入数组从形状(128,128,3)广播到形状(128,128)
【发布时间】:2018-04-21 12:43:24
【问题描述】:

您好,我正在构建一个图像分类器,这是我代码的一小部分 在这部分中,我试图“img_data_list”是一个数组,我正在将此数组转换为 np.array 但是 (img_data = np.array(img_data_list)) 这行代码给了我一个错误 (无法将输入数组从形状(128,128,3)广播到形状(128,128))我不知道为什么会发生这种情况

for dataset in data_dir_list:
    img_list=os.listdir(data_path+'/'+ dataset)

    print ('Loaded the images of dataset-'+'{}\n'.format(dataset))

    for img in img_list:
        image_path = os.path.join(data_path, dataset, img)

        input_img=cv2.imread(image_path)

        if input_img is not None:
            input_img_resize=cv2.resize(input_img,(128,128))
            img_data_list.append(input_img_resize)

        else:
            print(img+' image didnt read')

img_data = np.array(img_data_list)
img_data = img_data.astype('float32')
img_data /= 255

【问题讨论】:

  • 对不起,我是新手,我不明白我的意思是我不知道该怎么做我的意思是怎么做
  • 抱歉,我没有正确阅读您的问题。我知道一点 Numpy,但我不知道 cv2。我不明白img_data = np.array(img_data_list) 怎么会给你那个错误信息。哪个数组具有 (128,128,3) 形状?
  • cv2 是一个用于读取、调整大小等图像的库,img_data_list 是 (128,128,3)
  • 你能检查input_img=cv2.imread(image_path,0)的形状吗?
  • [[[123 175 188] [124 176 189] [124 176 189] ...,[255 255 255] [255 255 255] [255 255 255]]]

标签: python numpy image-processing machine-learning


【解决方案1】:

我发现一些图像在删除它们后在数据集中损坏的解决方案分类器工作正常

【讨论】:

  • 请问,您是如何找到这些损坏的图像的?我想我可能遇到了同样的问题。 CNN 运行良好,直到我尝试向其添加更多数据
  • 当我加载图像时,有些图像没有加载,我可以在终端上看到那个东西,所以我从终端获得了图像的名称。谢谢。
【解决方案2】:

我没有用过cv2,但是在其他地方看到过这个问题。如果列表中的任何一张图片没有预期的大小(224,224,3),就会出现上述问题。

另一个类似的 SO 帖子:ValueError: could not broadcast input array from shape (224,224,3) into shape (224,224)

能不能重新生成数据试试?

【讨论】:

【解决方案3】:

当您拥有像@Rahul Pant 所说的具有预期形状的图像时会发生这种情况,可能不是 (224,224,3),因为您只检查了第 0 个元素形状。我在 Image 数组中遇到了这个错误,我可以通过这段代码修复它。

print(len(img_data_list)) #to check the lenght of the list with elements having different shape

for item in img_data_list:
  if item.shape!=(224,224,3):
    img_data_list.remove(item)

print(len(img_data_list)) #you'll know how many corrupt sized images you had

【讨论】:

    猜你喜欢
    • 2018-06-30
    • 2018-06-08
    • 2020-01-21
    • 2020-10-18
    • 2018-09-25
    • 2020-10-09
    • 2021-03-30
    • 2021-08-24
    • 2019-11-28
    相关资源
    最近更新 更多