这篇文章主要介绍“Pytorch中transforms.Resize()如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Pytorch中transforms.Resize()如何使用”文章能帮助大家解决问题。
简单来说就是调整PILImage对象的尺寸,注意不能是用io.imread或者cv2.imread读取的图片,这两种方法得到的是ndarray。
将图片短边缩放至x,长宽比保持不变:
transforms.Resize(x)
而一般输入深度网络的特征图长宽是相等的,就不能采取等比例缩放的方式了,需要同时指定长宽:
transforms.Resize([h, w])
例如:
transforms.Resize([224, 224])就能将输入图片转化成224×224的输入特征图。
这样虽然会改变图片的长宽比,但是本身并没有发生裁切,仍可以通过resize方法返回原来的形状:
from PIL import Image from torchvision import transforms img = Image.open('1.jpg') w, h = img.size resize = transforms.Resize([224,244]) img = resize(img) img.save('2.jpg') resize2 = transforms.Resize([h, w]) img = resize2(img) img.save('3.jpg')
需要注意的一点是PILImage对象size属性返回的是w, h,而resize的参数顺序是h, w。
记住图像尺度统一为224×224时,要用transforms.Resize([224, 224]),不能写成transforms.Resize(224),transforms.Resize(224)表示把图像的短边统一为224,另外一边做同样倍速缩放,不一定为224
关于“Pytorch中transforms.Resize()如何使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。