transform的使用方法

将图片转化为张量,

from torchvision import transforms
from PIL import Image
img_path = "C:\\Users\\12398\\Desktop\\OIP-C.jpg"
img = Image.open(img_path)
tensor_trans = transforms.ToTensor()
tensor_img = tensor_trans(img)
print(tensor_img)

归一化操作,

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

img_path = "C:\\Users\\12398\\Desktop\\imageonline-co-gifimage.gif"
img = Image.open(img_path)
writer = SummaryWriter("logs")
tensor_trans = transforms.ToTensor()
tensor_img = tensor_trans(img)

# 归一化操作
# Normalize
trans_norm = transforms.Normalize([0.5, 0.5, 0.5], [0.5, 0.5, 0.5])
tensor_img_norm = trans_norm(tensor_img)

writer.add_image('tensor_img', tensor_img)
writer.add_image('norm_img', tensor_img_norm)
writer.close()

裁剪


from torch.utils.tensorboard import SummaryWriter
from torchvision import transforms
from PIL import Image
 
img_path = "dataset/train/bees_image/21399619_3e61e5bb6f.jpg"
img = Image.open(img_path)# PIL类型的图片原始比例为 500×464
 
writer = SummaryWriter("logs")
 
#Tosensor
tensor_trans = transforms.ToTensor()  # 创建 transforms.ToTensor类 的实例化对象
 
#Resize
print(img.size)
trans_resize = transforms.Resize((512, 512))
# PIL数据类型的 img -> resize -> PIL数据类型的 img_resize
img_resize = trans_resize(img)
 
# PIL 数据类型的 PIL -> totensor -> img_resize tensor
img_resize = tensor_trans(img_resize) # PIL类型的图片原始比例为 3×512×512,3通道
 
writer.add_image('Resize_img', img_resize)
writer.close()

随机裁剪RandomCrop(类似Resiz用法)
from torch.utils.tensorboard import SummaryWriter
from torchvision import transforms
from PIL import Image
import cv2
 
img_path = "dataset/train/bees_image/21399619_3e61e5bb6f.jpg"
img = Image.open(img_path)
print(img)
 
writer = SummaryWriter("logs") 
 
tensor_trans = transforms.ToTensor() 
img_tensor = tensor_trans(img)  
writer.add_image("img_tensor",img_tensor) 
 
trans_random = transforms.RandomCrop(312) # 随即裁剪成 312×312 的
#trans_random = transforms.RandomCrop((312,100))  指定随即裁剪的宽和高     
trans_compose_2 = transforms.Compose([trans_random,tensor_trans])
for i in range(10):
    img_crop = trans_compose_2(img)
    writer.add_image("RandomCrop",img_crop,i) 
    print(img_crop.size())
 

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值