Spaces:
Running
Running
from run import process | |
import time | |
import subprocess | |
import os | |
import argparse | |
import cv2 | |
import sys | |
from PIL import Image | |
import torch | |
import gradio as gr | |
TESTdevice = "cpu" | |
index = 1 | |
""" | |
main.py | |
How to run: | |
python main.py | |
""" | |
def mainTest(inputpath, outpath): | |
watermark = deep_nude_process(inputpath) | |
watermark1 = cv2.cvtColor(watermark, cv2.COLOR_BGRA2RGBA) | |
#cv2.imwrite(outpath, watermark1) | |
return watermark1 | |
# | |
def deep_nude_process(inputpath): | |
dress = cv2.imread(inputpath) | |
h = dress.shape[0] | |
w = dress.shape[1] | |
dress = cv2.resize(dress, (512, 512), interpolation=cv2.INTER_CUBIC) | |
watermark = process(dress) | |
watermark = cv2.resize(watermark, (w, h), interpolation=cv2.INTER_CUBIC) | |
return watermark | |
def inference(img): | |
global index | |
bgra = cv2.cvtColor(img, cv2.COLOR_RGBA2BGRA) | |
inputpath = "input_" + str(index) + ".jpg" | |
cv2.imwrite(inputpath, bgra) | |
outputpath = "out_" + str(index) + ".jpg" | |
index += 1 | |
print(time.strftime("START!!!!!!!!! %Y-%m-%d %H:%M:%S", time.localtime())) | |
output = mainTest(inputpath, outputpath) | |
print(time.strftime("Finish!!!!!!!!! %Y-%m-%d %H:%M:%S", time.localtime())) | |
return output | |
title = "Undress AI" | |
description = "β Input photos of people, similar to the test picture at the bottom, and undress pictures will be produced. You may have to wait 30 seconds for a picture. π Do not upload personal photos π There is a queue system. According to the logic of first come, first served, only one picture will be made at a time. Must be able to at least see the outline of a human body β" | |
examples = [ | |
['input.png', 'Test'], | |
['input.jpg', 'Test'], | |
] | |
web = gr.Interface(inference, | |
inputs="image", | |
outputs="image", | |
title=title, | |
description=description, | |
examples=examples, | |
) | |
if __name__ == '__main__': | |
web.launch( | |
enable_queue=True | |
) | |