无法多个两个阵列

unable to multiple two arrays

而运行这段代码,取值错误:

mask_image_temp = np.zeros((1080,1920), dtype=np.uint8)

ndarray_blue = np.array([[1100,600], [375,600], [520,400], [960,400]], np.int32)

polygon_blue = cv2.fillPoly(mask_image_temp,[ndarray_blue],color=1)

polygon_blue = polygon_blue[:,:,np.newaxis]

polygon_blue = cv2.resize(polygon_blue,(960,540))

blue_color_plate = [255,0,0]

blue_image = np.array(polygon_blue * blue_color_plate,np.uint8)

ValueError:操作数无法与形状一起广播 (540,960) (3,)

期待这些结果:

从错误消息中,我推断出:

polygon_blue * blue_color_plate

第一个是(540,960)个形状,第二个是(3,)

第二个是(上一行),明显的形状是3:

blue_color_plate = [255,0,0]

和前 csv.resize 行的另一个

至于更正,我们不知道作者的意图,所以不能建议修复。

得到解决方案,可能是因为在与blue_color_plate相乘之前调整了polygon_blue的大小。

解决方案