我们经常会遇到将图像分成一个个patch,然后输入至模型计算,将结果进行合并的操作。
from PIL import Image
import torchvision.transforms as transforms
import matplotlib.pyplot as plt
import torch
def readImage(path='13_4.jpg'):#这里可以替换成自己的图片
mode = Image.open(path)
transform1 = transforms.Compose([
transforms.ToTensor()
])
mode = transform1(mode)
return mode
def showTorchImage(image, simage):
mode = transforms.ToPILImage()(image).save(simage)
#plt.imshow(mode)
#plt.show()
image = readImage('13_4.jpg')
image = image.view(3, 16, -1, 3840)
image = image.permute(1,0,2,3)
for i in range(16):
showTorchImage(image[i], 'Input_16\\' + str(i) + '.jpg')
image = []
for i in range(16):
image.append(readImage('Grid\\' + str(i) +'.jpg'))
# print(image_1.shape)
raw_image = torch.cat(image, dim=1)
print(raw_image.shape)
showTorchImage(raw_image.view(3, -1, 3840), 'Grid_dehaze.jpg')