8、随机裁剪 transforms.RandomCrop()
transforms.RandomCrop(size, padding=None, pad_if_needed=False, fill=0, padding_mode='constant')size:期望随机裁剪之后输出的尺寸padding:填充边界的值,单个(int),两个([左/右,上/下]),四个(各个边界)pad_if_needed :bool值,避免数组越界fill:填充padding_
文章共964字 · 阅读需要大约4分钟
一键AI生成摘要,助你高效阅读
问答
·
transforms.RandomCrop(size, padding=None, pad_if_needed=False, fill=0, padding_mode='constant')
size:期望随机裁剪之后输出的尺寸
padding:填充边界的值,单个(int),两个([左/右,上/下]),四个(各个边界)
pad_if_needed :bool值,避免数组越界
fill:填充
padding_mode :填充模式
“constant”:利用常值进行填充
“edge”:利用图像边缘像素点进行填充
“reflect”:利用反射的方式进行填充[1, 2, 3, 4] 》[3, 2, 1, 2, 3, 4, 3, 2]
“symmetric”:对称填充方法[1, 2, 3, 4] 》》[2, 1, 1, 2, 3, 4, 4, 3]
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.RandomCrop((128,128))(img0)
img2=transform.RandomCrop((500,128),padding=25,fill=125,padding_mode="edge")(img0)
axs = plt.figure().subplots(1, 3)
axs[0].imshow(img0);axs[0].set_title('src');axs[0].axis('off')
axs[1].imshow(img1);axs[1].set_title('RandomCrop');axs[1].axis('off')
axs[2].imshow(img2);axs[2].set_title('padding_mode');axs[2].axis('off')
plt.show()
实图演示:
更多推荐
已为社区贡献1条内容
所有评论(0)