Source Code
Source Code
import numpy as np
import cv2
import PySimpleGUI as sg
import os.path
import argparse
import os
import sys
import shutil
from subprocess import call
def run_cmd(command):
try:
call(command, shell=True)
except KeyboardInterrupt:
print("Process interrupted")
sys.exit(1)
parser = argparse.ArgumentParser()
parser.add_argument("--input_folder",
type=str,
default= image_filename,
help="Test images")
parser.add_argument(
"--output_folder",
type=str,
default="./output",
help="Restored images, please use the
absolute path",
)
parser.add_argument("--GPU", type=str,
default="-1", help="0,1,2")
parser.add_argument(
"--checkpoint_name", type=str,
default="Setting_9_epoch_100", help="choose which
checkpoint"
)
parser.add_argument("--with_scratch",default="--wi
th_scratch" ,action="store_true")
opts = parser.parse_args()
gpu1 = opts.GPU
# resolve relative paths before changing
directory
opts.input_folder =
os.path.abspath(opts.input_folder)
opts.output_folder =
os.path.abspath(opts.output_folder)
if not os.path.exists(opts.output_folder):
os.makedirs(opts.output_folder)
main_environment = os.getcwd()
if not opts.with_scratch:
stage_1_command = (
"python test.py --test_mode Full
--Quality_restore --test_input "
+ stage_1_input_dir
+ " --outputs_dir "
+ stage_1_output_dir
+ " --gpu_ids "
+ gpu1
)
run_cmd(stage_1_command)
else:
mask_dir =
os.path.join(stage_1_output_dir, "masks")
new_input = os.path.join(mask_dir,
"input")
new_mask = os.path.join(mask_dir, "mask")
stage_1_command_1 = (
"python detection.py --test_path "
+ stage_1_input_dir
+ " --output_dir "
+ mask_dir
+ " --input_size full_size"
+ " --GPU "
+ gpu1
)
stage_1_command_2 = (
"python test.py
--Scratch_and_Quality_restore --test_input "
+ new_input
+ " --test_mask "
+ new_mask
+ " --outputs_dir "
+ stage_1_output_dir
+ " --gpu_ids "
+ gpu1
)
run_cmd(stage_1_command_1)
run_cmd(stage_1_command_2)
global f_image
f_image = f'./output/final_output/{n3}'
image = cv2.imread(f_image)
window['-OUT-'].update(data=cv2.imencode('.png',
image)[1].tobytes())
except:
continue
window['-IN-'].update(data=cv2.imencode('.png',
image)[1].tobytes())
except:
continue