v2.0 enhanced structure

This commit is contained in:
K4YT3X 2018-05-19 00:54:16 -04:00
parent 03d6e3f3a2
commit 0000f138fb

View File

@ -4,15 +4,14 @@
Name: FFMPEG Class Name: FFMPEG Class
Author: K4YT3X Author: K4YT3X
Date Created: Feb 24, 2018 Date Created: Feb 24, 2018
Last Modified: Feb 25, 2018 Last Modified: May 19, 2018
Description: This class controls waifu2x Description: This class controls waifu2x
engine engine
Version 1.1 Version 2.0
""" """
import subprocess
import os
class WAIFU2X: class WAIFU2X:
@ -22,24 +21,27 @@ class WAIFU2X:
about the binary address and the processing method. When being called about the binary address and the processing method. When being called
by the main program, other detailed information will be passed to by the main program, other detailed information will be passed to
the upscale function. the upscale function.
TODO: Make enhancement model customizable
""" """
def __init__(self, waifu2x_path, method): def __init__(self, waifu2x_path, method, model_type):
self.waifu2x_path = waifu2x_path self.waifu2x_path = waifu2x_path
self.method = method self.method = method
self.model_type = model_type
def upscale(self, folderin, folderout, width, height, model_type): def upscale(self, file, upscaled, width, height):
"""This is the core function for WAIFU2X class """This is the core function for WAIFU2X class
[description] [description]
Arguments: Arguments:
folderin {string} -- source folder path file {string} -- input image
folderout {string} -- output folder path upscaled {string} -- output folder path
width {int} -- output video width width {int} -- output video width
height {int} -- output video height height {int} -- output video height
model_type {string} -- model to use for upscaling
""" """
os.system("{} -p {} -I png -i {} -e png -o {} -w {} -h {} -n 3 -m noise_scale -y {}".format( file_id = file.split('extracted_')[-1].split('.png')[0]
self.waifu2x_path, self.method, folderin, folderout, width, height, model_type)) output_file = '{}\\{}{}{}'.format(upscaled, 'extracted_', file_id, '.png')
execute = "{} -p {} -I png -i {} -e png -o {} -w {} -h {} -n 3 -m noise_scale -y {}".format(
self.waifu2x_path, self.method, file, output_file, width, height, self.model_type)
subprocess.call(execute, stdout=subprocess.DEVNULL, stderr=subprocess.STDOUT)