transforms.Pad(padding, fill=0, padding_mode='edge')
padding:列表,元素个数为1,2,4
fill:int-单值 or (r,g,b)
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.Pad([105,105],fill=(0,125,5),padding_mode='constant')(img0)
img2=transform.Pad([105,105],fill=(0,125,5),padding_mode='edge')(img0)
img3=transform.Pad([105,105],fill=(0,125,5),padding_mode='reflect')(img0)
img4=transform.Pad([105,105],fill=(0,125,5),padding_mode='symmetric')(img0)
axs = plt.figure().subplots(1, 5)
axs[0].imshow(img0);axs[0].set_title('src');axs[0].axis('off')
axs[1].imshow(img1);axs[1].set_title('constant');axs[1].axis('off')
axs[2].imshow(img2);axs[2].set_title('edge');axs[2].axis('off')
axs[3].imshow(img3);axs[3].set_title('reflect');axs[3].axis('off')
axs[4].imshow(img4);axs[4].set_title('symmetric');axs[4].axis('off')
plt.show()
实图演示: