无法多个两个阵列
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的大小。
解决方案
而运行这段代码,取值错误:
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)
期待这些结果:
从错误消息中,我推断出:
polygon_blue * blue_color_plate
第一个是(540,960)个形状,第二个是(3,)
第二个是(上一行),明显的形状是3:
blue_color_plate = [255,0,0]
和前 csv.resize
行的另一个
至于更正,我们不知道作者的意图,所以不能建议修复。
得到解决方案,可能是因为在与blue_color_plate相乘之前调整了polygon_blue的大小。
解决方案