6、随机仿射变化 transforms.RandomAffine()

transforms.RandomAffine(degrees, translate=None, scale=None, shear=None, interpolation=<InterpolationMode.NEAREST: 'nearest'>, fill=0, fillcolor=None, resample=None, center=None)

degrees:可从中选择的度数范围。如果为非零数字,旋转角度从(-degrees,+degress),或者可设置为(min,max)
translate:水平和垂直平移的最大绝对偏移量。长度为2的元组,数值在(0,1)之间,dx在(-w*a,w*a),dy在(-h*b,h*b)
scale:比例因子区间,例如(a,b),则从范围a<=比例<=b中随机采样比例。默认情况下,将保留原始比例。
shear:可从中选择的度数范围。放射变换的角度
interpolation:插值的方法如果输入为Tensor只支持InterpolationMode.NEAREST, InterpolationMode.BILINEAR 
fill:填充像素的值,
fillcolor:0.14以后版本被移除,使用fill代替
resample:0.14以后版本被移除,使用interpolation代替
center:旋转中心的位置,默认为图片的中心
import torchvision.transforms as transform
from PIL import Image
import matplotlib.pyplot as plt
import numpy as np
import torch
img0=Image.open('lin-xiao-xun-000003.jpg')
img1=transform.RandomAffine(degrees=(10,150))(img0)
img2=transform.RandomAffine(degrees=0,translate=(0.1,0.6))(img0)
img3=transform.RandomAffine(degrees=0,translate=(0,0),scale=(1,2))(img0)
img4=transform.RandomAffine(degrees=0,translate=(0,0),shear=45)(img0)
img5=transform.RandomAffine(degrees=0,translate=(0.2,0.5),fill=(0,125,0))(img0)

axs = plt.figure().subplots(1, 6)
axs[0].imshow(img0);axs[0].set_title('src');axs[0].axis('off')
axs[1].imshow(img1);axs[1].set_title('degrees');axs[1].axis('off')
axs[2].imshow(img2);axs[2].set_title('translate');axs[2].axis('off')
axs[3].imshow(img3);axs[3].set_title('scale');axs[3].axis('off')
axs[4].imshow(img4);axs[4].set_title('shear');axs[4].axis('off')
axs[5].imshow(img5);axs[5].set_title('fill');axs[5].axis('off')
plt.show()

实图演示:

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值