python代码转换为pytorch_python、PyTorch图像读取与numpy转换
python、PyTorch图像读取与numpy转换
发布时间:2018-06-15 16:27,
浏览次数:1147
, 标签:
python
PyTorch
numpy
Tensor转为numpy
np.array(Tensor)
numpy转换为Tensor
torch.Tensor(numpy.darray)
PIL.Image.Image转换成numpy
np.array(PIL.Image.Image)
numpy 转换成PIL.Image.Image
Image.fromarray(numpy.ndarray)
首先需要保证numpy.ndarray 转换成np.uint8型
numpy.astype(np.uint8),像素值[0,255]。
同时灰度图像保证numpy.shape为(H,W),不能出现channels
这里需要np.squeeze()。彩色图象保证numpy.shape为(H,W,3)
之后Image.fromarray(numpy.ndarray)
PIL.Image.Image转换成Tensor
torchvision.transfrom
img=Image.open('00381fa010_940422.tif').convert('L') import
torchvision.transforms as transforms
trans=transforms.Compose([transforms.ToTensor()]) a=trans(img)
Tensor转化成PIL.Image.Image
先转换成numpy,再转换成PIL.Image.Image
灰度图像
img=Image.open('00381fa010_940422.tif').convert('L') import
torchvision.transforms as transforms
trans=transforms.Compose([transforms.ToTensor()]) a=trans(img) b=np.array(a)
#b.shape (1,64,64) maxi=b.max() b=b*255./maxi
b=b.transpose(1,2,0).astype(np.uint8) b=np.squeeze(b,axis=2)
xx=Image.fromarray(b) xx
彩色图象
img2=Image.open('00381fa010_940422.tif').convert('RGB') import
torchvision.transforms as transforms
trans=transforms.Compose([transforms.ToTensor()]) a=trans(img2) a=np.array(a)
maxi=a.max() a=a/maxi*255 a=a.transpose(1,2,0).astype(np.uint8)
b=Image.fromarray(a) b
python-opencv
import cv2 a=cv2.imread('00381fa010_940422.tif') #a.shape (64,64,3)
cv2.imwrite('asd.jpg',a) Image.fromarray(a)
b=cv2.imread('00381fa010_940422.tif',0)#b.shape (64,64) Image.fromarray(b)
cv2.imread()返回numpy.darray,
读取灰度图像之后shape为(64,64),RGB图像的shape为(64,64,3),可直接用Image.fromarray()转换成Image。
cv写图像时,灰度图像shape可以为(H,W)或(H,W,1)。彩色图像(H,W,3)
要从numpy.ndarray得到PIL.Image.Image,灰度图的shape必须为(H,W),彩色为(H,W,3)
对于Variable类型不能直接转换成numpy.ndarray,需要用.data转换
np.array(a.data)
python代码转换为pytorch_python、PyTorch图像读取与numpy转换相关推荐
- python、PyTorch图像读取与numpy转换
原文:https://blog.csdn.net/yskyskyer123/article/details/80707038 python.PyTorch图像读取与numpy转换 Tensor转为nu ...
- python代码转换为pytorch_python基础教程Pytorch之Tensor和Numpy之间的转换的实现方法...
为什么要相互转换: 1. 要对tensor进行操作,需要先启动一个Session,否则,我们无法对一个tensor比如一个tensor常量重新赋值或是做一些判断操作,所以如果将它转化为numpy数组就 ...
- python代码转换为pytorch_pytorch实现Tensor变量之间的转换
系统默认是torch.FloatTensor类型 data = torch.Tensor(2,3)是一个2*3的张量,类型为FloatTensor data.cuda()就转换为GPU的张量类型,to ...
- 将python代码转换为flowchart代码
将python代码转换为flowchart代码 慢慢来,报错莫着急 将python代码转换为flowchart代码 问题描述及原因明细 提示:这里除了遇到的问题还有解决方案 报错:UnicodeDec ...
- 有没有一个在线工具可以将Python代码转换为Java代码?
Python和Java是软件开发行业中广泛使用的两种编程语言.两者都有自己的优点和缺点,适用于不同类型的项目.Python以其易用性和可读性而闻名,而Java以其健壮性和性能而闻名. Python和J ...
- python代码转换为pytorch_Pytorch中Tensor与各种图像格式的相互转化详解
前言 在pytorch中经常会遇到图像格式的转化,例如将PIL库读取出来的图片转化为Tensor,亦或者将Tensor转化为numpy格式的图片.而且使用不同图像处理库读取出来的图片格式也不相同,因此 ...
- python代码转换为pytorch_pytorch使用 to 进行类型转换方式
在程序中,有多种方法进行强制类型转换. 本博文将介绍一个非常常用的方法:to()方法. 我们通常使用它来进行GPU和CPU的类型转换,但其实也可以用来进行torch的dtype转换. 常见方法:ten ...
- Python代码转换为exe可执行程序详解
一,简介 Python写完程序,要靠命令来执行太LOW,太低调了,还不华丽了. 再说别人的电脑,都没有Python库,怎么执行,还能不能愉快的一起玩耍了. 所以哪怕只会写一个HelloWorld,也要 ...
- Python代码转换为exe可执行程序详解【转】
转自:https://blog.csdn.net/woshisangsang/article/details/73230433 一,简介 Python写完程序,要靠命令来执行太LOW,太低调了,还不华 ...
最新文章
- 适合初学者的数据结构_数据结构101:图-初学者的直观介绍
- 2020 年 11 月程序员工资统计,Java 市场占有率仍第一
- python监听剪贴板_Python监听剪切板实现方法代码实例
- 硒4 Alpha –期望什么?
- winshark重要数据结构
- 购书中心管理系统的设计
- PHP中逻辑运算符的高效用法---和||
- Java Break和continue实现goto功能
- C# 中的 gdi 而不是 gdi+
- iOS学习笔记32 - 锚点
- perl的bareword
- Servlet+Ajax实现搜索智能提示
- MapXtreme 2005 学习心得 将wor格式转wms格式(十)
- CE驱动程序快速入门(转)
- rational rose的下载和安装教程
- 数据中心能效管理系统有哪些平台功能?一分钟了解
- 三维坐标转经纬度_地形图坐标转换小程序使用方法
- 【APP加载H5页面加载流程概述及提速方案】
- 计算机软件著作权 评审,软件著作权在评职称过程中有用吗
- cissp怎么维持?cissp维持费用多少?