将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)

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Quartus ii 软件仿真基本流程(使用VHDL)「建议收藏」

    Quartus ii 软件仿真基本流程(使用VHDL)「建议收藏」Quartusii软件仿真基本流程(使用VHDL)文章首发于我的个人博客这是VHDL系列教程的第一个教程。所谓教程,其实也就是记录我本人在学习过程中遇到的问题和学习内容的笔记,分享在这里供其他初学者参考,如果博客中出现任何错误或不严谨的地方,您可以在下方评论区指出来,您的反馈是对我最大的帮助,万分感谢。这篇博客主要介绍使用Quartusii软件进行仿真的步骤,由于是第一篇所以过程详细但有些冗余(问题不大),之后的教程应该专注于VHDL语言本身以及Quartusii的一些使用技巧。本教程将用

    2022年10月15日
  • Hibernate二级缓存适用场景[通俗易懂]

    Hibernate二级缓存适用场景[通俗易懂]Hibernate二级缓存适用场景1.什么样的数据适合存放到第二级缓存中?1)很少被后台修改的数据,这里指的是前台后台使用了不同的orm实现,如一个用的hibernate加二级缓存,一个用的jdbc(前台用户可以修改,修改后会同步到缓存中)2)不是很重要的数据,允许出现偶尔并发的数据3)访问量大,不会被并发访问的数据,如个人资料4)

  • PHP验证二代身份证

    PHP验证二代身份证functionvalidation_filter_id_card($id_card){ if(strlen($id_card)==18){ returnidcard_checksum18($id_card); }elseif((strlen($id_card)==15)){ $id_card=idcard_15to18($id_card); return

  • 菜鸟的mybatis实战教程

    菜鸟的mybatis实战教程菜鸟的mybatis实战教程说明一、mybatis简介二、mybatis简单入门(1)数据库创建(2)创建springboot项目(3)增删改查操作(4)总结说明之前学习了mybatis之后没有做记录,在前几天做一个题库系统时,刚好要用到mybatis,因为之前做东西时用的jpa,mybatis没怎么去用,导致有些知识点想不起来,在使用mybatis出现了一些低级的错误,现将mybatis的学习笔记记录在这里,以便日后查看,本文会持续更新,不断地扩充本文仅为记录学习轨迹,如有侵权,联系删除一、myb

  • unity打包webgl程序和js键盘监听事件冲突的问题。

    unity打包webgl程序和js键盘监听事件冲突的问题。

  • java实现闰年判断

    java实现闰年判断要求:给定一个年份,判断这一年是不是闰年。当以下情况之一满足时,这一年是闰年:1、年份是4的倍数而不是100的倍数;2、年份是400的倍数。其他的年份都不是闰年。输入:输入包含一个整数y,表示当前的年份。输出:输出一行,如果给定的年份是闰年,则输出yes,否则输出no。importjava.util.Scanner;publicclassMain{ publicstaticvoidmain(String[]args){ Scanneri..

发表回复

您的电子邮箱地址不会被公开。

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