ValueError:无法将形状(450,1000,3)的输入数组广播为形状(400,500,3)

时间:2018-01-04 01:55:50

标签: python numpy opencv

我收到错误,ValueError:无法将形状(450,1000,3)的输入数组广播到形状(400,500,3)。我写了代码,

img = cv2.imread("photo.png")
photo = cv2.imread("photo1.png")
img[0:400, 0:500, :] = photo

之前,我写过代码

img = cv2.imread("photo.png")
photo = cv2.imread("photo1.png")
img_height = photo.shape[0]
img_width = bphoto.shape[1]
img[0:img_height, 0:img_width, :] = photo

但我之前的代码将照片的图像始终放在img的左上角。我想让系统将照片的图像放在img的中心。我真的不明白为什么这些代码会导致错误我该如何解决这个问题?我的代码有什么问题?

1 个答案:

答案 0 :(得分:0)

当你这样做时:

img[0:400, 0:500, :] = photo

您创建了对400x500x3矩阵的引用,并尝试将photo分配给它,这会给您错误:

ValueError:无法将形状(450,1000,3)的输入数组广播为形状(400,500,3)

这似乎意味着您的photo大小为450x1000x3。