我的图像注释为RGB颜色。尝试转换为标签编码图像时出现问题 这是标签注释的示例: https://drive.google.com/file/d/1h1Ezc1QobHVlttF3P53yH2V8e5bMq8yL/view?usp=sharing
这是代码:
`CLASSES = ['pipeline','person','road','house','car','cargo truck','oil truck','motorcycle'] #all
clasess
label_values = [[255, 0, 0],[0, 0, 255],[255, 255, 0],[0, 255, 255],[255, 0, 255],[128, 0, 128],
[128, 128, 0],[0, 0, 128]]
classes = ['pipeline','person','road','house','car'] #select only certain classes
class_values = [CLASSES.index(cls.lower()) for cls in classes]
mask = cv2.cvtColor(cv2.imread('.../example_annot.png'), cv2.COLOR_BGR2RGB)
semantic_map = []
for colour in [label_values[index] for index in class_values ]:
equality = np.equal(mask, colour)
class_map = np.all(equality, axis = -1)
semantic_map.append(class_map)
mask2 = np.float32(np.stack(semantic_map, axis=-1))
mask3 = np.argmax(mask2, axis = -1)
masks = [(mask3 == v) for v in class_values]
mask4 = np.stack(masks, axis=-1).astype('float')`
通过查看class mask2 [:,:,0],专注于管道(原始图像中的红色)。它仍然存在,但是在mask3中,流水线对象也消失了,如mask4 [:,:,0]
所示。任何人都可以解释吗?在这种情况下,我不了解np.argmax的行为,该行为会返回错误的结果(管道对象消失了)
谢谢