transforms可以用来改变样本的多样性,例如:旋转、平移等等,训练图像辨识时,一定会用到的工具,现在来跟大家介绍他有哪些用法!我拿还未处理过的资料来当示范。这里我把图片都转换成400*400的大小。
from torchvision import transforms
from PIL import Image
def img_loader(img_path):
image = Image.open(img_path)
img = image.resize((400, 400),Image.ANTIALIAS)
return img.convert('RGB')
img = img_loader(r"C:\Users\Frank\PycharmProjects\practice\mountain\train\5_拓.jpg")
img.show()
tranform = transforms.Compose([transforms.CenterCrop(size=((200,200)))])
img = tranform(img)
img.show()
img = img_loader(r"C:\Users\Frank\PycharmProjects\practice\mountain\train\5_拓.jpg")
img.show()
tranform = transforms.Compose([transforms.CenterCrop(size=((750,500)))])
img = tranform(img)
img.show()
随机裁剪:transforms.RandomCrop
将图档随机裁剪你设定的size。
img = img_loader(r"C:\Users\Frank\PycharmProjects\practice\mountain\train\5_拓.jpg")
img.show()
tranform = transforms.Compose([transforms.RandomCrop(size=((200,200)),padding=100)])
img = tranform(img)
img.show()
img = img_loader(r"C:\Users\Frank\PycharmProjects\practice\mountain\train\5_拓.jpg")
img.show()
tranform = transforms.Compose([transforms.RandomCrop(size=((200,200)),padding=100,fill = (255,0,0))])
img = tranform(img)
img.show()
随机大小及随机长宽比裁剪原始图片,最後再resize到设定好的size。
img = img_loader(r"C:\Users\Frank\PycharmProjects\practice\mountain\train\5_拓.jpg")
img.show()
tranform = transforms.Compose([transforms.RandomResizedCrop(size = (200,200),scale=(0.2, 1.0), ratio=(0.5, 1.1))])
img = tranform(img)
img.show()
依照P的机率,资料集的P倍图片会被水平翻转。
img = img_loader(r"C:\Users\Frank\PycharmProjects\practice\mountain\train\5_拓.jpg")
img.show()
tranform = transforms.Compose([transforms.RandomVerticalFlip(p = 0.9)])
img = tranform(img)
img.show()
垂直翻转:RandomHorizontalFlip
依照P的机率,资料集的P倍图片会被垂直翻转。
img = img_loader(r"C:\Users\Frank\PycharmProjects\practice\mountain\train\5_拓.jpg")
tranform = transforms.Compose([transforms.RandomHorizontalFlip(p = 0.9)])
img = tranform(img)
img.show()
随机旋转:RandomRotation
依照设置的degrees,随机旋转图片。
img = img_loader(r"C:\Users\Frank\PycharmProjects\practice\mountain\train\5_拓.jpg")
tranform = transforms.Compose([transforms.RandomRotation(degrees = 30,center=(0,0))])
img = tranform(img)
img.show()
填补:Pad
img = img_loader(r"C:\Users\Frank\PycharmProjects\practice\mountain\train\5_拓.jpg")
tranform = transforms.Compose([transforms.Pad(padding = 30,fill=(255,200,0))])
img = tranform(img)
img.show()
<<: Day16 - 快速回顾 Finite State Machine, State Chart + 浅嚐 XState
>>: 【第十七天 - Flutter Cloud Messaging(上)】
题库一个人不容易维护 如果想要多人共用试算表 就会怕有些人动到你设定好的格式 此时可以选择保护工作表...
我在这一区出生的(小时候也住在这里),拍这集的时候,不自觉的会想要多介绍一些周遭的环境。 阿公家在这...
昨天我们已经介绍到ALLOW_HOSTS了,那我们今天就继续介绍吧! 下一个我们看到的是INSTAL...
安卓有五种LOG的方式 搭配logcat 标记出你想知道的讯息 可以提升侦错的效率和优化程序码 Lo...
触碰开灯 ( 引脚按下 ) 教学原文参考:触碰开灯 ( 引脚按下 ) 这篇文章会介绍如何使用「当引脚...