将tensor转换为图像_tensor转int

将tensor转换为图像_tensor转int将tensor转换为numpy

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

将tensor转换为numpy

import tensor 
import numpy as np
def tensor2img(tensor, out_type=np.uint8, min_max=(0, 1)):
    ''' Converts a torch Tensor into an image Numpy array Input: 4D(B,(3/1),H,W), 3D(C,H,W), or 2D(H,W), any range, RGB channel order Output: 3D(H,W,C) or 2D(H,W), [0,255], np.uint8 (default) '''
    if hasattr(tensor, 'detach'):
        tensor = tensor.detach()
    tensor = tensor.squeeze().float().cpu().clamp_(*min_max)  # clamp
    tensor = (tensor - min_max[0]) / (min_max[1] - min_max[0])  # to range [0,1]
    n_dim = tensor.dim()
    if n_dim == 4:
        n_img = len(tensor)
        img_np = make_grid(tensor, nrow=int(math.sqrt(n_img)), normalize=False).numpy()
        img_np = np.transpose(img_np[[2, 1, 0], :, :], (1, 2, 0))  # HWC, BGR
    elif n_dim == 3:
        img_np = tensor.numpy()
        img_np = np.transpose(img_np[[2, 1, 0], :, :], (1, 2, 0))  # HWC, BGR
    elif n_dim == 2:
        img_np = tensor.numpy()
    else:
        raise TypeError(
            'Only support 4D, 3D and 2D tensor. But received with dimension: {:d}'.format(n_dim))
    if out_type == np.uint8:
        img_np = np.clip((img_np * 255.0).round(), 0, 255)
        # Important. Unlike matlab, numpy.unit8() WILL NOT round by default.
    return img_np.astype(out_type)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/183609.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月10日 上午10:46
下一篇 2022年10月10日 上午11:00


相关推荐

  • 史丰收速算 蓝桥杯

    史丰收速算 蓝桥杯标题 史丰收速算 nbsp nbsp 史丰收速算法的革命性贡献是 从高位算起 预测进位 不需要九九表 彻底颠覆了传统手算 nbsp nbsp 速算的核心基础是 1 位数乘以多位数的乘法 nbsp nbsp 其中 乘以 7 是最复杂的 就以它为例 nbsp nbsp 因为 1 7 是个循环小数 0 如果多位数超过 就要进 1 nbsp nbsp 同理 2 7 3 7

    2026年3月19日
    2
  • windows 下shell 工具

    windows 下shell 工具CygwinTermin

    2026年3月18日
    2
  • SNMP协议详解

    SNMP协议详解SNMP协议详解简单网络管理协议(SNMP)是TCP/IP协议簇的一个应用层协议。在1988年被制定,并被Internet体系结构委员会(IAB)采纳作为一个短期的网络管理解决方案;由于SNMP的简单性,在Internet时代得到了蓬勃的发展,1992年发布了SNMPv2版本,以增强SNMPv1的安全性和功能。现在,已经有了SNMPv3版本。…

    2022年10月17日
    5
  • tkinter-grid布局详解

    tkinter-grid布局详解前文 tkinter pack 布局详解介绍了 pack 布局 相信对 tkinter 的布局套路有了一定的了解 本文将介绍另一种布局类 grid 同样 展示布局类与控件类的类间关系 文章目录 grid 默认分布 columnrowcol 从字面意思上可以推断 这种布局方式就像网格一样来分布控件 那么具体会呈现什么样的效果 要怎么编码控制呢 同样的套路 通过实例来进行直观的讲解 widget grid cnf kw

    2025年11月10日
    7
  • MAC 安装 wrk

    MAC 安装 wrk用 Homebrew 安装失败了 developebrew gt Downloadingh homebrew bintray com bottles wrk 4 1 0 mojave bottle 2 t curl 22 Therequested 4

    2026年3月18日
    2
  • pip常用命令以及升级方法

    pip常用命令以及升级方法pip常用命令以及升级方法使用python时经常使用到pip命令,可以方便安装python的各种第三方库1:查看pip打开cmd窗口,输入pip命令,会显示pip所有的参数使用方法如果输入pip提示Didnotprovideacommand,可能是没有配置环境变量导致的,也可能系统安装有多个pip2:查看pip的安装路径wherepip3:查看pip版本pip-V(注意V要大写)4:pip升级方法安装python第三方包时,会有pip版本的提示方法一:输入pipin

    2022年6月4日
    60

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号