项目场景:
需要把多类分割的结果mask,转为彩图可视化保存下来
问题描述:
如何处理mask?如何进行颜色转换?如何保存?
解决方案:
1、模型的最后一层:
self.conv12 = nn.Conv2d(M, num_classes, 1, 1, 0)
网络的输出:
outputs = self.model(img)#维度是batch, num_classes, h, w
2、outputs此时还是num_classes通道的,还不是最终的mask:
mask = output.cpu().max(0)[1].data #因为在gpu训练,所以需要加.cpu().此时维度是(h,w)output=outputs[i]一个批中的第i张
3、颜色转换:
def colormap(n):
'''
这里有19个颜色,根据自己数据来使用,也可以根据自己的喜爱修改颜色的值。n就是num_classes.
np.uint8意味着array的值为0-255中间。
cmap就是一个映射,当标签为1的时候,这个像素转