python、PyTorch图像读取与numpy转换实例


Posted in Python onJanuary 13, 2020

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图像读取与numpy转换实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
解决windows下Sublime Text 2 运行 PyQt 不显示的方法分享
Jun 18 Python
通过Python 获取Android设备信息的轻量级框架
Dec 18 Python
python针对excel的操作技巧
Mar 13 Python
详解Python3.6的py文件打包生成exe
Jul 13 Python
Python中函数参数调用方式分析
Aug 09 Python
python对视频画框标记后保存的方法
Dec 07 Python
python+os根据文件名自动生成文本
Mar 21 Python
Python动态参数/命名空间/函数嵌套/global和nonlocal
May 29 Python
Python3基础教程之递归函数简单示例
Jun 07 Python
python列表生成器迭代器实例解析
Dec 19 Python
win10安装tensorflow-gpu1.8.0详细完整步骤
Jan 20 Python
Python之字典对象的几种创建方法
Sep 30 Python
pytorch 彩色图像转灰度图像实例
Jan 13 #Python
Ranorex通过Python将报告发送到邮箱的方法
Jan 12 #Python
python opencv实现信用卡的数字识别
Jan 12 #Python
Python 实现递归法解决迷宫问题的示例代码
Jan 12 #Python
Python3.x+迅雷x 自动下载高分电影的实现方法
Jan 12 #Python
tensorflow的计算图总结
Jan 12 #Python
python利用JMeter测试Tornado的多线程
Jan 12 #Python
You might like
php图片上传存储源码并且可以预览
2011/08/26 PHP
从wamp到xampp的升级之路
2015/04/08 PHP
PHP实现XML与数据格式进行转换类实例
2015/07/29 PHP
PHP autoload使用方法及步骤详解
2020/09/05 PHP
SWFObject Flash js调用类
2008/07/08 Javascript
JavaScript自定义DateDiff函数(兼容所有浏览器)
2012/03/01 Javascript
鼠标选择动态改变网页背景颜色的JS代码
2013/12/10 Javascript
jQuery取得设置清空select选择的文本与值
2014/07/08 Javascript
使用JavaScript链式编程实现模拟Jquery函数
2014/12/21 Javascript
分享10个原生JavaScript技巧
2015/04/20 Javascript
js实现滑动触屏事件监听的方法
2015/05/05 Javascript
AngularJS入门教程之控制器详解
2016/07/27 Javascript
JS匿名函数实例分析
2016/11/26 Javascript
javascript ASCII和Hex互转的实现方法
2016/12/27 Javascript
微信小程序 Buffer缓冲区的详解
2017/07/06 Javascript
详解Vue源码学习之callHook钩子函数
2018/07/25 Javascript
少女风vue组件库的制作全过程
2019/05/15 Javascript
微信小程序之侧边栏滑动实现过程解析(附完整源码)
2019/08/23 Javascript
JS继承实现方法及优缺点详解
2020/09/02 Javascript
[02:43]DOTA2英雄基础教程 德鲁伊
2014/01/13 DOTA
操作Windows注册表的简单的Python程序制作教程
2015/04/07 Python
详解Python中的序列化与反序列化的使用
2015/06/30 Python
python3.6 实现AES加密的示例(pyCryptodome)
2018/01/10 Python
解决pycharm最左侧Tool Buttons显示不全的问题
2019/12/17 Python
Python批量处理csv并保存过程解析
2020/05/16 Python
CSS3制作彩色进度条样式的代码示例分享
2016/06/23 HTML / CSS
详解HTML5表单新增属性
2016/12/21 HTML / CSS
html5使用canvas实现跟随光标跳动的火焰效果
2014/01/07 HTML / CSS
Linux文件系统类型
2012/09/16 面试题
幼儿园中班教学反思
2014/02/10 职场文书
求职信结尾怎么写
2014/05/26 职场文书
小学课外活动总结
2014/07/09 职场文书
SpringBoot+Vue+JWT的前后端分离登录认证详细步骤
2021/09/25 Java/Android
SpringBoot2零基础到精通之数据与页面响应
2022/03/22 Java/Android
MySQL创建管理HASH分区
2022/04/13 MySQL
码云(gitee)通过git自动同步到阿里云服务器
2022/12/24 Servers