Spaces:
Build error
Build error
""" | |
Copyright (C) 2018 NVIDIA Corporation. All rights reserved. | |
Licensed under the CC BY-NC-SA 4.0 license (https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode). | |
""" | |
from __future__ import division | |
from PIL import Image | |
from torch import nn | |
import numpy as np | |
import cv2 | |
from cv2.ximgproc import guidedFilter | |
class GIFSmoothing(nn.Module): | |
def forward(self, *input): | |
pass | |
def __init__(self, r, eps): | |
super(GIFSmoothing, self).__init__() | |
self.r = r | |
self.eps = eps | |
def process(self, initImg, contentImg): | |
return self.process_opencv(initImg, contentImg) | |
def process_opencv(self, initImg, contentImg): | |
''' | |
:param initImg: intermediate output. Either image path or PIL Image | |
:param contentImg: content image output. Either path or PIL Image | |
:return: stylized output image. PIL Image | |
''' | |
if type(initImg) == str: | |
init_img = cv2.imread(initImg) | |
init_img = init_img[2:-2,2:-2,:] | |
else: | |
init_img = np.array(initImg)[:, :, ::-1].copy() | |
if type(contentImg) == str: | |
cont_img = cv2.imread(contentImg) | |
else: | |
cont_img = np.array(contentImg)[:, :, ::-1].copy() | |
output_img = guidedFilter(guide=cont_img, src=init_img, radius=self.r, eps=self.eps) | |
output_img = cv2.cvtColor(output_img, cv2.COLOR_BGR2RGB) | |
output_img = Image.fromarray(output_img) | |
return output_img | |