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采用raw_input读取输入值的方法
Aug 18 Python
Python中的字符串替换操作示例
Jun 27 Python
Django 实现购物车功能的示例代码
Oct 08 Python
python matplotlib画图库学习绘制常用的图
Mar 19 Python
Python函数装饰器常见使用方法实例详解
Mar 30 Python
Python Django基础二之URL路由系统
Jul 18 Python
Python使用Slider组件实现调整曲线参数功能示例
Sep 06 Python
python 解决flask 图片在线浏览或者直接下载的问题
Jan 09 Python
python实现在一个画布上画多个子图
Jan 19 Python
python判断是空的实例分享
Jul 06 Python
Windows 平台做 Python 开发的最佳组合(推荐)
Jul 27 Python
python 图像增强算法实现详解
Jan 24 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简单对象与数组的转换函数代码(php多层数组和对象的转换)
2011/05/18 PHP
php随机显示图片的简单示例
2014/02/15 PHP
PHP中多维数组的foreach遍历示例
2014/06/13 PHP
简单谈谈php中ob_flush和flush的区别
2014/11/27 PHP
ThinkPHP实现非标准名称数据表快速创建模型的方法
2014/11/29 PHP
PHP _construct()函数讲解
2019/02/03 PHP
JS实现网页滚动条感应鼠标变色的方法
2015/02/26 Javascript
JS实现网页标题栏显示当前时间和日期的完整代码
2015/11/02 Javascript
浅析JavaScript声明变量
2015/12/21 Javascript
AngularJS使用ng-inlude指令加载页面失败的原因与解决方法
2017/01/19 Javascript
微信小程序实现类似微信点击语音播放效果
2020/03/30 Javascript
微信小程序的授权实现过程解析
2019/08/02 Javascript
用vue设计一个日历表
2020/12/03 Vue.js
跟老齐学Python之关于循环的小伎俩
2014/10/02 Python
Django 前后台的数据传递的方法
2017/08/08 Python
python 读取txt,json和hdf5文件的实例
2018/06/05 Python
浅谈PySpark SQL 相关知识介绍
2019/06/14 Python
python实现爬虫抓取小说功能示例【抓取金庸小说】
2019/08/09 Python
详解Python self 参数
2019/08/30 Python
深入了解Python在HDA中的应用
2019/09/05 Python
Pycharm中import torch报错的快速解决方法
2020/03/05 Python
实例代码讲解Python 线程池
2020/08/24 Python
Opodo英国旅游网站:预订廉价航班、酒店和汽车租赁
2018/07/14 全球购物
Shell编程面试题
2012/05/30 面试题
Linux常见面试题
2013/03/18 面试题
清华大学自主招生自荐信
2014/01/29 职场文书
幼儿园安全检查制度
2014/01/30 职场文书
函授自我鉴定范文
2014/02/06 职场文书
人事专员的职责
2014/02/26 职场文书
绿色环保家庭事迹材料
2014/08/31 职场文书
党的群众路线教育实践活动个人对照检查材料(医生)
2014/11/05 职场文书
消防隐患整改通知书
2015/04/22 职场文书
办公室禁烟通知
2015/04/23 职场文书
详解MySQL连接挂死的原因
2021/05/18 MySQL
Python实现老照片修复之上色小技巧
2021/10/16 Python
vue打包时去掉所有的console.log
2022/04/10 Vue.js