Source / demo.py
Richard1231's picture
Update demo.py
6921844
import gradio as gr
from PIL import Image
import os
import subprocess
import glob
def get_latest_file(directory):
all_items = glob.glob(os.path.join(directory, '*'))
folders = [item for item in all_items if os.path.isdir(item)]
files = [item for item in all_items if os.path.isfile(item)]
if folders:
latest_folder = max(folders, key=os.path.getmtime)
return latest_folder
elif files:
latest_file = max(files, key=os.path.getmtime)
return latest_file
else:
return None
def save_image(image):
directory = './testdata'
if not os.path.exists(directory):
os.makedirs(directory)
image.save(os.path.join(directory, 'new_image_1.jpg'))
def process_image(image):
pil_image = Image.fromarray(image)
save_image(pil_image)
program_path = './test.py'
subprocess.run(['python3', program_path, '--data_path_test=./testdata'])
directory_image = './flat'
latest_file = get_latest_file(get_latest_file(directory_image))
image_path = f'{latest_file}/144/test/new_image_1.jpg'
new_image = Image.open(image_path)
return new_image
iface = gr.Interface(fn=process_image,
inputs="image",
outputs="image",
title="Document dewarping platform",
description="This page recognises wrinkled documents and processes them into flat ones, you can upload your local images and download the processed files.",
allow_flagging="never"
)
iface.launch()