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

常见的transforms

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

常见的transforms

输入 输出 作用

PIL             Image,open()

tensor        ToTensor()

warrays      cv.imread()

from PIL import Image
from torch.utils.tensorboard import SummaryWriter
from torchvision import transforms

writer = SummaryWriter('logs')
img = Image.open("data/train/ants_image/6743948_2b8c096dda.jpg")   #图片路径
print(img)
#ToTensor的使用
trans_totensor = transforms.ToTensor()
img_tensor = trans_totensor(img)             #括号里图片格式为PIL,输出格式为totensor格式
writer.add_image("ToTensor", img_tensor)
writer.close()
#Normalize的使用
print(img_tensor[0][0][0])            #图片必须是tensor格式
trans_norm = transforms.Normalize([1,4,2],[5,1,3])    #方框里的数字是更改图片值
img_norm = trans_norm(img_tensor)
print(img_norm[0][0][0])
writer.add_image("Normalize",img_norm,0)    # 命名图片,图片名称,步数
writer.close()
#Reslize(objecct)
print(img.size)
trans_resize = transforms.Resize((512,512))    #要求更改完成的图片大小
img_resize = trans_resize(img)                 #更改图片大小   图片只能是PIL格式
img_resize = trans_totensor(img_resize)        #图片由PIL格式改为totensor格式
writer.add_image("Resize",img_resize,0)
print(img_resize)
writer.close()
#Compose - resize-2
trans_resize_2 = transforms.Resize(512)      #更改图片大小   图片类型为PIL
trans_compose = transforms.Compose([trans_resize_2,trans_totensor])
#图片类型由PIL转换为totensor 
# Compose()中的参数需要的是一个列表
  python中,列表的表示形式为[数据1,数据2……]
  在Compose中,数据需要的transforms类型
  所以得到Compose([transforms参数1,transforms参数2……])
img_resize_2 = trans_compose(img)            #括号里图片为PIL格式 与trans-compose输入一致
writer.add_image("Resize",img_resize_2,1)
writer.close()
#RandomCrop
trans_random = transforms.RandomCrop((100,120))     #裁剪大小 要小于原始图片
trans_compose_2 = transforms.Compose([trans_random,trans_totensor])    
for i in range(10):
    img_crop = trans_compose_2(img)
    writer.add_image("RandomCrop",img_crop,i)       #在原图片上随机裁剪10个规定大小的图片
writer.close()

只有totensor格式的图片才能在tensorboard中打开

在terminal终端输入

tensorboard --logdir=logs                          #等号后面是之前定义的名称

tensorboard --logdir=logs --port=6007     #避免使用人数太多在另一个窗口打开

总结

多关注输入和输出类型

多看官方文档

关注方法需要什么参数(输入类型可在官方文档里看,输出类型print(图片名称)或

print(type(图片名称)或debug)

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

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

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