Sorobot/Document-modify-Toolkit
0
1import gradio as gr2from PIL import Image3import Transform4from Enhance import reinforce_15import os6from datetime import datetime7 8def transform_image(image):9 timestamp = datetime.now().strftime("%Y%m%d%H%M%S")10 save_path = "uploads"11 if not os.path.exists(save_path):12 os.makedirs(save_path)13 input_image_path = os.path.join(save_path, f"{timestamp}.png")14 image.save(input_image_path)15 16 output_path = "processed"17 if not os.path.exists(output_path):18 os.makedirs(output_path)19 output_image_path = os.path.join(output_path, f"transformed_{timestamp}.png")20 21 Transform.predict.run(input_image_path, output_image_path)22 processed_image = Image.open(output_image_path)23 return processed_image24 25def enhance_image(image):26 timestamp = datetime.now().strftime("%Y%m%d%H%M%S")27 save_path = "uploads"28 if not os.path.exists(save_path):29 os.makedirs(save_path)30 input_image_path = os.path.join(save_path, f"{timestamp}.png")31 image.save(input_image_path)32 33 output_path = "processed"34 if not os.path.exists(output_path):35 os.makedirs(output_path)36 output_image_path = os.path.join(output_path, f"enhanced_{timestamp}.png")37 38 reinforce_1.enhance_image(input_image_path, output_image_path)39 processed_image = Image.open(output_image_path)40 return processed_image41 42def Option(image, operation):43 if operation == "矫正":44 return transform_image(image)45 elif operation == "增强":46 return enhance_image(image)47 elif operation == "先矫正后增强":48 transformed_image = transform_image(image)49 return enhance_image(transformed_image)50 51title = "图片矫正&增强小工具 - 拯救看不清的PPT"52description = "这是一个图片矫正&增强小工具,可以帮助你矫正图片倾斜,增强图片清晰度。并且可以(可选地)对图片进行二值化增强处理,使得图片更加清晰。"53article="""54 ## 说明55 这是一个简单的图像处理应用。您可以上传一张图片,应用将对其进行处理,并返回处理后的图片。56 - 上传图片的格式可以是 PNG、JPG 等。57 - 图片处理过程可能包括一些基本的操作,例如调整大小、旋转等。58 - 处理后的图片将显示在页面上。59 60 ### 使用步骤61 1. 点击下方的“选择文件”按钮上传图片。62 2. 等待图片处理完成。63 3. 查看处理后的图片。64 """65 66 67iface = gr.Interface(68 fn = Option,69 inputs = [70 gr.Image(type='pil', label="上传图片"),71 gr.Radio(["矫正", "增强", "先矫正后增强"], label="操作类型")72 ],73 outputs="image",74 live = True,75 title = title,76 description=description77)78 79iface.launch()