transform.invert 预处理逆操作

article/2025/8/30 18:27:42

transform.invert 预处理逆操作

from PIL import Image
from torchvision import transforms
import torch
import numpy as npdef transform_invert(img_, transform_train):"""将data 进行反transfrom操作:param img_: tensor:param transform_train: torchvision.transforms:return: PIL image"""if 'Normalize' in str(transform_train):# 分析transforms里的Normalizenorm_transform = list(filter(lambda x: isinstance(x, transforms.Normalize), transform_train.transforms))mean = torch.tensor(norm_transform[0].mean, dtype=img_.dtype, device=img_.device)std = torch.tensor(norm_transform[0].std, dtype=img_.dtype, device=img_.device)img_.mul_(std[:, None, None]).add_(mean[:, None, None])  # 广播三个维度 乘标准差 加均值img_ = img_.transpose(0, 2).transpose(0, 1)  # C*H*W --> H*W*C# 如果有ToTensor,那么之前数值就会被压缩至0-1之间。现在需要反变换回来,也就是乘255if 'ToTensor' in str(transform_train):img_ = np.array(img_) * 255# 先将np的元素转换为uint8数据类型,然后转换为PIL.Image类型if img_.shape[2] == 3:  # 若通道数为3 需要转为RGB类型img_ = Image.fromarray(img_.astype('uint8')).convert('RGB')elif img_.shape[2] == 1:  # 若通道数为1 需要压缩张量的维度至2Dimg_ = Image.fromarray(img_.astype('uint8').squeeze())else:raise Exception("Invalid img shape, expected 1 or 3 in axis 2, but got {}!".format(img_.shape[2]))return img_if __name__ == '__main__':img = Image.open(r"./test.jpg").convert('RGB')img_transform = transforms.Compose([transforms.ToTensor()])img_tensor = img_transform(img)# img_tensor.unsqueeze_(dim=0)    # C*H*W to B*C*H*Wprint(img_tensor)print(img_tensor.shape)img = transform_invert(img_tensor, img_transform)  # input: shape=[c h w]img.show()

在这里插入图片描述


http://chatgpt.dhexx.cn/article/Xfhu1kFV.shtml

相关文章

opencv invert()函数使用问题记录

参考博客 CV_8UC1/2/3 OpenCV求逆(伪逆)矩阵函数 invert()介绍 invert是opencv自带的求解逆矩阵或者伪逆矩阵的函数,具体形式如下: double invert(InputArray src, OutputArraydst, int flagsDECOMP_LU); src: 输…

Mysql链接工具

众所周知为了可以更好的操作 Mysql 数据库,我们都会采用远程连接工具的方式连接 Mysql 数据库,使用远程连接工具连接的好处在于: 方便远程访问:如果你需要在外部网络环境中访问 MySQL 数据库,使用远程连接工具可以方便…

开源、绿色,解压即可运行的数据库连接工具推荐

db beaver一个开源、绿色,解压即可运行的数据库连接工具,直接支持连接mysql 8。界面大气,功能强大,唯一的要求就是要安装的有jdk。 官网下载地址https://dbeaver.io/download/ 界面截图如下

一款连接SqlServer的数据库工具

由于自己使用的电脑系统是xp,而服务器上的数据库是SqlServer2012,于是用SqlServer2005管理端操作2012,总是不成功。在网上也百度谷歌了很久,也没有解决,也发了很多问没有找到解决。一次偶然在博客中看到有人使用Toad for SQL Serv…

MongoDb数据库连接工具

一、Mongo Management Studio Mongo Management Studio是一个用于数据库管理的免费MongoDB GUI工具。它轻巧,界面清晰,易于开发基于MongoDB的项目。 它使用nodeJs,Electron框架,MongoDB和AngularJs开发。MMS与MongoDB 3.0/3.2/3.4…

达梦数据库连接工具简介

达梦数据库连接工具简介 1、disql连接工具基本使用1.1、disql连接数据库(1)1.2、disql连接数据库(2) 2、manager工具2.1、在linux系统中使用下列命令启动图形化界面2.2、在windows中选择DM管理工具快捷方式2.4、连接数据库实例 1、…

Jdbc数据库的连接工具类

Jdbc数据库的连接工具类 1. 开篇简述2. 驱动导包3. 注意事项4. 代码实现5. 总结 1. 开篇简述 嗨,大家好!!! 在熬过了,有差不多一周多吧,小编最近不知道分享点什么好,这两天,琢磨琢磨…

程序与数据库连接工具与案例代码

文章目录 前言JDBC访问数据库流程JDBC访问数据库的步骤1、开始JDBC操作前要将驱动放到WEB-INF的lib目录下2、程序中首先导包import java.sql.*3、执行查询操作①、加载正确的数据库驱动程序②、定义所要连接数据库的地址③、建立与数据库的连接④、创建语句对象⑤、声明SQL语句…

通用数据库连接工具DBeaver

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/fenzhouzhen7118/article/details/82218044 本人电脑为win10系统。 之前连接数据库都使用navicat…

dbeaver一款全能的数据库连接工具dbeaver

记录一款全能的数据库连接工具dbeaver 特点: 免费、开源、免安装解压即用 当然官网也有商业版本,开源免费版基本够用了 Main web site 官网: https://dbeaver.io Source code 源码: https://github.com/dbeaver/dbeaver 本地下载 https://download.…

数据库连接工具类

数据库连接 概述一、jdbc实验环境搭建 二、Druid连接数据库实验环境搭建 三、Maven连接数据库实验环境搭建 四、mybatis连接数据库实验环境搭建 五、Spring连接数据库六、SSM 概述 什么是JDBC:Java连接数据库 原子性 (Atomicity)、 一致性(Consistency)、隔离性(Is…

正版数据库连接工具,DBeaver的安装与配置使用

之前一直使用的数据库连接工具是Navicat的破解版,相信很多人也和我一样,直到前段时间,发现了一款免费开源的数据库连接软件,使用起来也很方便顺手,那就是DB eaver ,今天将安装基础使用的教程分享出来。 DBe…

数据库连接工具---DBeaver

数据库连接工具---DBeaver ☁️前言⭐️下载安装🍋下载🍍安装 🏆连接Clickhouse✨快捷键 ☁️前言 在工作中使用DataGrip,发现创建Clickhouse表语句设置了字段注释,但是创建完之后,注释消失。发现是客户端…

真牛X!这款通用数据库连接工具DBeaver!可以连接和操作市面所有的数据库!...

来源:https://blog.csdn.net/horses/article/details/89683422在制作《SQL 入门教程》时,接触到了这款非常强大易用的数据库管理和开发工具:DBeaver,也就是上面这个可爱的小河狸。 DBeaver 是一个基于 Java 开发,免费开…

数据库链接工具

安装方式 Navicat 自行百度需要破解 展示效果

除了大家知道的navicat,再介绍两款免费的数据库连接工具

因为navicat如果以前没有navicat的破解版就很难用现在网上的免费连接数据库工具了,所以,在这里我推荐大家使用两款免费的连接数据库工具。 第一款是开源免费的DBeaver 这是我上班,项目经理也可以说是我师傅教我的,毕竟免费&…

发现极为好用的数据库连接工具,基本上包含所有数据库DBeaver

1.DBeaver 是一个基于 Java 开发,免费开源的通用数据库管理和开发工具,使用非常友好的 ASL 协议。可以通过官方网站或者 Github 进行下载。 由于 DBeaver 基于 Java 开发,可以运行在各种操作系统上,包括:Windows、Lin…

数据库连接工具sqldbx、dbvisualizer使用笔记

近来需要使用新的数据库连接工具连接多种数据库,现在此做一个简单的总结记录,以备后续查看。 一、sqldbx 1、简介 SqlDbx 是简单易用的数据库连接工具,SQL编辑,SQL查询工具。语句规则突出,智能化,自动完…

MySQL数据库的多种连接方式及工具

大家好呀!我是猿童学🐵,最近在学习Mysql数据库,给初学者分享一些知识,也是学习的总结,关注我将会不断地更新数据库知识,也欢迎大家指点一二🌹。 目录 一、MySQl命令行客户端 二、C…

几款数据库连接工具

几款数据库连接工具 文章目录 几款数据库连接工具1. 前言2. Navicat3. DBeaver4. DataGrip5. phpMyAdmin 1. 前言 我目前使用sqlite3和mysql数据库比较多,所以对数据库客户端的需求主要是支持多平台,至少可以连接管理这两个数据库,目前我找到…