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 相关文章推荐
Python 分析Nginx访问日志并保存到MySQL数据库实例
Mar 13 Python
python使用cStringIO实现临时内存文件访问的方法
Mar 26 Python
python的sorted用法详解
Jun 25 Python
如何使用Python实现自动化水军评论
Jun 26 Python
python笔记_将循环内容在一行输出的方法
Aug 08 Python
Python循环实现n的全排列功能
Sep 16 Python
python序列化与数据持久化实例详解
Dec 20 Python
解决Jupyter notebook中.py与.ipynb文件的import问题
Apr 21 Python
django rest framework serializers序列化实例
May 13 Python
如何更换python默认编辑器的背景色
Aug 10 Python
python中封包建立过程实例
Feb 18 Python
Python 如何实现文件自动去重
Jun 02 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引用效率问题分析
2012/03/23 PHP
PHP正确解析UTF-8字符串技巧应用
2012/11/07 PHP
解析PHP的session过期设置
2013/06/29 PHP
php排序算法实例分析
2016/10/17 PHP
重写javascript中window.confirm的行为
2012/10/21 Javascript
document.forms[].submit()使用介绍
2014/02/19 Javascript
jquery单行文字向上滚动效果示例
2014/03/06 Javascript
详解Bootstrap创建表单的三种格式(一)
2016/01/04 Javascript
利用Javascript仿Excel的数据透视分析功能
2016/09/07 Javascript
原生js获取浏览器窗口及元素宽高常用方法集合
2017/01/18 Javascript
Vue获取DOM元素样式和样式更改示例
2017/03/07 Javascript
Bootstrap免费字体和图标网站(值得收藏)
2017/03/16 Javascript
Vue2.0实现将页面中表格数据导出excel的实例
2017/08/09 Javascript
通过vue-cli来学习修改Webpack多环境配置和发布问题
2017/12/22 Javascript
JS+CSS3实现的简易钟表效果示例
2019/04/13 Javascript
vue使用localStorage保存登录信息 适用于移动端、PC端
2019/05/27 Javascript
vuex+axios+element-ui实现页面请求loading操作示例
2020/02/02 Javascript
vue引入静态js文件的方法
2020/06/20 Javascript
Vue两种组件类型:递归组件和动态组件的用法
2020/08/06 Javascript
浅析 Vue 3.0 的组装式 API(一)
2020/08/31 Javascript
简单的Python2.7编程初学经验总结
2015/04/01 Python
Python使用pygame模块编写俄罗斯方块游戏的代码实例
2015/12/08 Python
python使用Plotly绘图工具绘制散点图、线形图
2019/04/02 Python
python3中eval函数用法使用简介
2019/08/02 Python
Python读写操作csv和excle文件代码实例
2020/03/16 Python
网页中的电话号码如何实现一键直呼效果_附示例
2016/03/15 HTML / CSS
Nordgreen英国官网:斯堪的纳维亚设计师手表
2018/10/24 全球购物
印度电子产品购物网站:Vijay Sales
2021/02/16 全球购物
Java面试笔试题大全
2016/11/23 面试题
语文教育专业求职信
2014/06/28 职场文书
群众路线个人对照检查材料
2014/09/23 职场文书
教师党员批评与自我批评
2014/10/15 职场文书
2014年学生会工作总结范文
2014/11/07 职场文书
医院志愿者活动总结
2015/05/06 职场文书
2016教师校本研修心得体会
2016/01/08 职场文书
Springboot配置suffix指定mvc视图的后缀方法
2021/07/03 Java/Android