cr / generate.py
Keiser41's picture
Upload 201 files
96eb931
"""
usage:
python3 generate.py --image_path ./apple_test.jpg --name apple2orange --model cycle_gan --gpu_ids -1
gpu_ids: -1 for cpu inference
"""
from options.test_options import TestOptions
opt = TestOptions().parse()
from models.one_direction_test_model import OneDirectionTestModel
from data.unaligned_data_loader import load_image_for_prediction
import sys
import cv2
import os
import numpy as np
from PIL import Image
opt.nThreads = 1
opt.batchSize = 1
opt.serial_batches = True
def generate():
"""
generate single image specific by image path, and show the after generated image
:return:
"""
image_path = opt.image_path
print('generate from {}'.format(image_path))
data = load_image_for_prediction(opt, image_path)
model = OneDirectionTestModel()
model.initialize(opt=opt)
model.set_input(data)
model.test()
visuals = model.get_current_visuals()
generated_a = visuals['fake_B']
image_generated = Image.fromarray(generated_a)
image_generated.save(str(os.path.basename(image_path).split('.')[0]) + '_fake_b.jpg')
combined_result = np.concatenate([img for _, img in visuals.items()], 1)
image_combined = Image.fromarray(combined_result)
image_combined.save(str(os.path.basename(image_path).split('.')[0]) + '_combined.jpg')
image_combined.show()
print('generated image saved.')
if __name__ == '__main__':
generate()