本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理
本文章来自腾讯云 作者:Tyan
想要学习Python?有问题得不到第一时间解决?来看看这里“1039649593”满足你的需求,资料都已经上传至文件中,可以自行下载!还有海量最新2020python学习资料。
点击查看
2. Transforms on PIL Image
这部分主要是对Python最常用的图像处理库Pillow中Image的处理。基本环境及图像如下:
import torchvision.transforms as transforms
from PIL import Image
img = Image.open('tina.jpg')
...
# Save image
img.save('image.jpg')
size = (224, 224)
transform = transforms.CenterCrop(size)
center_crop = transform(img)
center_crop.save('center_crop.jpg')
brightness = (1, 10)
contrast = (1, 10)
saturation = (1, 10)
hue = (0.2, 0.4)
transform = transforms.ColorJitter(brightness, contrast, saturation, hue)
color_jitter = transform(img)
color_jitter.save('color_jitter.jpg')
size = (224, 224)
transform = transforms.FiveCrop(size)
five_crop = transform(img)
2.5 torchvision.transforms.Pad(padding, fill=0, padding_mode=‘constant’)
Pad的作用是对图像进行填充,可以设置要填充的值及填充的大小,默认是图像四边都填充。示例代码及结果如下:
size = (224, 224)
padding = 16
fill = (0, 0, 255)
transform = transforms.Compose([
transforms.CenterCrop(size),
transforms.Pad(padding, fill)
])
pad = transform(img)
pad.save('pad.jpg')
degrees = (15, 30)
translate=(0, 0.2)
scale=(0.8, 1)
fillcolor = (0, 0, 255)
transform = transforms.RandomAffine(degrees=degrees, translate=translate, scale=scale, fillcolor=fillcolor)
random_affine = transform(img)
random_affine.save('random_affine.jpg')
size = (224, 224)
padding = 16
fill = (0, 0, 255)
transform = transforms.RandomApply([transforms.CenterCrop(size), transforms.Pad(padding, fill)])
for i in range(3):
random_apply = transform(img)
size = (224, 224)
transform = transforms.RandomCrop(size)
random_crop = transform(img)
size = (224, 224)
padding = 16
fill = (0, 0, 255)
degrees = (15, 30)
transform = transforms.RandomOrder([transforms.RandomAffine(degrees), transforms.CenterCrop(size), transforms.Pad(padding, fill)])
for i in range(3):
random_order = transform(img)