栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Pytorch transforms.Resize()的简单用法

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Pytorch transforms.Resize()的简单用法

简单来说就是调整PILImage对象的尺寸,注意不能是用io.imread或者cv2.imread读取的图片,这两种方法得到的是ndarray。

transforms.Resize(x)  #将图片短边缩放至x,长宽比保持不变

而一般输入深度网络的特征图长宽是相等的,就不能采取等比例缩放的方式了,需要同时指定长宽:

transforms.Resize([h, w]) #指定宽和高

例如 transforms.Resize([224, 224]) 就能将输入图片转化成224×224的输入特征图。

这样虽然会改变图片的长宽比,但是本身并没有发生裁切,仍可以通过resize方法返回原来的形状:
from PIL import Image
from torchvision import transforms

img = Image.open('G:/datasets/DSIFN/test(1)/t1/0.jpg')  #读取一张遥感图片
w,h = img.size
print(w,h)  # 原图大小(512,512)

#第一次裁剪,将图片转化为224*224大小,并保存为test.jpg文件(保存路径在当下文件中)
resize = transforms.Resize([224,224])
img = resize(img)
img.save('test.jpg') # (224,224)

#第二次裁剪,将图片转化为512*512大小,并保存为test1.jpg文件
resize2 = transforms.Resize([h,w])
img = resize2(img)
img.save('test1.jpg')

需要注意的一点是PILImage对象size属性返回的是w, h,而resize的参数顺序是h, w。

 o.jpg

 

 test.jpg

test1.jpg

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/701468.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号