Esempio n. 1
0
def test_data():
    for i in range(81):
        image_path = "./data/image/" + str(i) + ".jpg"
        label_path = "./data/label/" + str(i) + ".jpg"
        image_save_path = "./data/image0/" + str(i) + ".jpg"
        label_save_path = "./data/label0/" + str(i) + ".jpg"
        from PIL import Image
        image = Image.open(image_path)
        label = Image.open(label_path)
        # from torchvision.transforms import ToTensor
        # image = ToTensor()(image)
        # label = ToTensor()(label)
        # print(image.shape, label.shape)
        from torchvision.transforms import Scale
        image = Scale((450, 300))(image)
        label = Scale((450, 300))(label)
        image.save(image_save_path)
        label.save(label_save_path)
    model.cuda()
    model.load_state_dict(torch.load('epochs/' + MODEL_NAME))
else:
    model.load_state_dict(
        torch.load('epochs/' + MODEL_NAME,
                   map_location=lambda storage, loc: storage))

dir = '/home/lucas/Lab/SRGAN/SRGAN/data/test2'
files = os.listdir(dir)
for file in files:
    image = Image.open(dir + '/' + file)
    print(image.size)
    print(image.size[0])
    min_edge = image.size[0] if image.size[0] < image.size[1] else image.size[1]
    image_lr = Scale(min_edge // 2, interpolation=Image.BICUBIC)(image)

    image = Variable(ToTensor()(image_lr), volatile=True).unsqueeze(0)
    if TEST_MODE:
        image = image.cuda()

    start = time.clock()
    out = model(image)
    elapsed = (time.clock() - start)
    print('cost' + str(elapsed) + 's')
    out_img = ToPILImage()(out[0].data.cpu())
    #out_img.save(dir + '/' + file[:-4] + '_generate' + str(UPSCALE_FACTOR) + '_init.jpg')
    #out_img = Scale(256, interpolation=Image.BICUBIC)(out_img)
    out_img.save(dir + '/' + file[:-4] + '_generate' + '.jpg')
    image_lr = Scale(min_edge * 2, interpolation=Image.BICUBIC)(image_lr)
    image_lr.save(dir + '/' + file[:-4] + '_init' + '.jpg')