DeepFaceLab/models/ConverterBase.py
2018-06-04 17:12:43 +04:00

44 lines
No EOL
1.2 KiB
Python

import copy
'''
You can implement your own Converter, check example ConverterMasked.py
'''
class ConverterBase(object):
MODE_FACE = 0
MODE_IMAGE = 1
#overridable
def __init__(self, predictor):
self.predictor = predictor
#overridable
def get_mode(self):
#MODE_FACE calls convert_face
#MODE_IMAGE calls convert_image
return ConverterBase.MODE_FACE
#overridable
def convert_face (self, img_bgr, img_face_landmarks, debug):
#return float32 image
#if debug , return tuple ( images of any size and channels, ...)
return image
#overridable
def convert_image (self, img_bgr, img_landmarks, debug):
#img_landmarks not None, if input image is png with embedded data
#return float32 image
#if debug , return tuple ( images of any size and channels, ...)
return image
#overridable
def dummy_predict(self):
#do dummy predict here
pass
def copy(self):
return copy.copy(self)
def copy_and_set_predictor(self, predictor):
result = self.copy()
result.predictor = predictor
return result