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中numpy基础学习及进行数组和矢量计算
Feb 12 Python
Python时间的精准正则匹配方法分析
Aug 17 Python
Python使用装饰器进行django开发实例代码
Feb 06 Python
Python抓取聚划算商品分析页面获取商品信息并以XML格式保存到本地
Feb 23 Python
Django添加feeds功能的示例
Aug 07 Python
python引入不同文件夹下的自定义模块方法
Oct 27 Python
python3实现斐波那契数列(4种方法)
Jul 15 Python
Django 重写用户模型的实现
Jul 29 Python
python NumPy ndarray二维数组 按照行列求平均实例
Nov 26 Python
Python开发之pip安装及使用方法详解
Feb 21 Python
Python线程协作threading.Condition实现过程解析
Mar 12 Python
python机器学习Github已达8.9Kstars模型解释器LIME
Nov 23 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
德生PL660的电路分析和打磨
2021/03/02 无线电
深入解析PHP的Yii框架中的event事件机制
2016/03/17 PHP
php图片上传类 附调用方法
2016/05/15 PHP
PHP 验证身份证是否合法的函数
2017/02/09 PHP
PHP中模糊查询并关联三个select框
2017/06/19 PHP
jQuery获取样式中的背景颜色属性值/颜色值
2012/12/17 Javascript
jquery ajax修改全局变量示例代码
2013/11/08 Javascript
window.onload使用指南
2015/09/13 Javascript
实例代码详解javascript实现窗口抖动及qq窗口抖动
2016/01/04 Javascript
javascript类型系统 Window对象学习笔记
2016/01/07 Javascript
JS获取时间的相关函数及时间戳与时间日期之间的转换
2016/02/04 Javascript
【经典源码收藏】jQuery实用代码片段(筛选,搜索,样式,清除默认值,多选等)
2016/06/07 Javascript
template.js前端模板引擎使用详解
2017/10/10 Javascript
VUE 配置vue-devtools调试工具及安装方法
2018/09/30 Javascript
微信小程序wx:for循环的实例详解
2018/10/07 Javascript
webstorm+vue初始化项目的方法
2018/10/18 Javascript
微信小程序实现人脸识别登陆的示例代码
2019/04/02 Javascript
详解Jest结合Vue-test-utils使用的初步实践
2019/06/27 Javascript
vue拖拽组件 vuedraggable API options实现盒子之间相互拖拽排序
2019/07/08 Javascript
jquery图片预览插件实现方法详解
2019/07/18 jQuery
在vue中封装的弹窗组件使用队列模式实现方法
2020/07/23 Javascript
Python图像处理PIL各模块详细介绍(推荐)
2019/07/17 Python
Python帮你识破双11的套路
2019/11/11 Python
在Python中使用MongoEngine操作数据库教程实例
2019/12/03 Python
Python远程方法调用实现过程解析
2020/07/28 Python
如何用python免费看美剧
2020/08/11 Python
css3 边框、背景、文本效果的实现代码
2018/03/21 HTML / CSS
巴西最大的运动品牌:Olympikus
2020/07/14 全球购物
什么叫做SQL注入,如何防止
2016/10/04 面试题
学雷锋志愿服务月活动总结
2014/03/09 职场文书
酒店总经理岗位职责
2015/04/01 职场文书
2015年度学校卫生工作总结
2015/05/12 职场文书
运动会开幕式致辞
2015/07/29 职场文书
matlab xlabel位置的设置方式
2021/05/21 Python
Pytorch中Softmax与LogSigmoid的对比分析
2021/06/05 Python
CSS 伪元素::marker详解
2021/06/26 HTML / CSS