Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| from rembg import remove | |
| from PIL import Image, ImageEnhance | |
| import os | |
| import requests | |
| from io import BytesIO | |
| def enhance_image(image): | |
| """Enhance the image by adjusting sharpness, contrast, and brightness.""" | |
| enhancer = ImageEnhance.Sharpness(image) | |
| image = enhancer.enhance(2.0) # Increase sharpness | |
| enhancer = ImageEnhance.Contrast(image) | |
| image = enhancer.enhance(1.2) # Increase contrast | |
| enhancer = ImageEnhance.Brightness(image) | |
| image = enhancer.enhance(1.1) # Increase brightness | |
| return image | |
| def remove_background(image, filename, enhance): | |
| # Remove the background from the image | |
| output = remove(image) | |
| # Enhance the image after removing the background (if enabled) | |
| if enhance: | |
| output = enhance_image(output) | |
| # Save the image with the specified filename | |
| if not filename.endswith(".png"): | |
| filename += ".png" | |
| output_path = os.path.join("outputs", filename) | |
| os.makedirs("outputs", exist_ok=True) # Create the folder if it doesn't exist | |
| output.save(output_path) | |
| return output, output_path | |
| # Load the example image from the URL | |
| def load_example_image(): | |
| url = "https://huggingface.co/spaces/Doubleupai/RemBgV0/resolve/main/example.jpg?raw=true" # Use the raw URL | |
| response = requests.get(url) | |
| image = Image.open(BytesIO(response.content)) | |
| return image | |
| # Create the Gradio interface | |
| iface = gr.Interface( | |
| fn=remove_background, | |
| inputs=[ | |
| gr.Image(type="pil", label="Input Image"), | |
| gr.Textbox(label="Filename (without extension)", placeholder="Enter filename"), | |
| gr.Checkbox(label="Enhance Image After Background Removal", value=True) # Checkbox for enhancement | |
| ], | |
| outputs=[ | |
| gr.Image(type="pil", label="Background-Removed Image"), | |
| gr.File(label="Download Image") | |
| ], | |
| title="RemBgV0", # Application title | |
| description="Upload an image, specify a filename, and choose whether to enhance the image after removing the background.", | |
| examples=[ | |
| [load_example_image(), "example_output", True] # Example image, filename, and enhancement option | |
| ] | |
| ) | |
| # Launch the application | |
| iface.launch() |