CoolFace
Apppublic

Sorobot/Document-modify-Toolkit

sourceHugging Faceapache-2.0updated 2y agoView on Hugging Face
0likes
app.py79 linesDownload Raw Back to root
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()