对tensor数据进行可视化--可自主确定类别

def visualize_class_indices(class_indices_tensor, num_classes, cmap='tab20'):
“”class_indices_tensor的shape是2维的,如[256,256],num_classes为多少根据自己的类别数确定“”
    colors = plt.get_cmap(cmap)(np.linspace(0, 1, num_classes))[:, :3]
    class_colors = mcolors.ListedColormap(colors)

    class_indices_tensor = class_indices_tensor.cpu().numpy()  # Convert to NumPy array and move to CPU

    #假设有15个类别 下面是GID数据图例(一个例子)
    #class_labels = ['工业用地', '城市住宅','农村住宅', '交通用地','稻田', '灌溉地','旱地', '园地','乔木林', '灌木林','自然草地','人工草地', '河流','湖泊', '池塘']
    # 创建图像
    fig, ax = plt.subplots(figsize=(18, 12))
    ax.imshow(class_indices_tensor, cmap=class_colors, vmin=0, vmax=num_classes - 1)

    # 创建Patch对象列表
    legend_patches = [mpatches.Patch(color=class_colors(i), label=class_labels[i]) for i in range(num_classes)]

    # 添加legend
    ax.legend(handles=legend_patches, bbox_to_anchor=(1.05, 1), loc='upper left', borderaxespad=0.,fontsize=30)
    ax.set_title('Output', fontsize=30)
    # ax.axis('off')  # 隐藏坐标轴刻度和标签
    return fig

注意点:

1 输入数据尺寸需要是2维的

2 数据中的类别数可以根据自己需要变化

3 多次调用该函数,如果比如同样都是15个类别,那么每次类别对应的颜色是不会变的,如果想要变化,可以更改cmap(函数参数).

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值