Spaces:
Sleeping
Sleeping
| title: AI Image Processing | |
| emoji: 🖼️ | |
| colorFrom: blue | |
| colorTo: purple | |
| sdk: docker | |
| pinned: false | |
| license: mit | |
| # AI Image Processing API | |
| A comprehensive image processing API with multiple AI-powered features including super-resolution, background removal, noise reduction, and document scanning. | |
| ## Features | |
| - **Image Enhancement**: Upscale images 2x or 4x using Real-ESRGAN | |
| - **Background Removal**: Remove backgrounds using BiRefNet AI model via rembg | |
| - **Noise Reduction**: Reduce image noise using OpenCV Non-Local Means Denoising | |
| - **Document Scanning**: Auto-crop, align, and enhance document photos with AI | |
| - **RESTful API**: Full API with automatic OpenAPI/Swagger documentation | |
| - **Web Interface**: Simple drag-and-drop interface for testing | |
| ## API Endpoints | |
| ### Image Enhancement | |
| #### `POST /enhance` | |
| Upscale and enhance image quality using Real-ESRGAN. | |
| **Parameters:** | |
| - `file`: Image file (PNG, JPG, JPEG, WebP, BMP) | |
| - `scale`: Upscale factor (2 or 4, default: 4) | |
| ### Background Removal | |
| #### `POST /remove-background` | |
| Remove background from an image using BiRefNet AI model. | |
| **Parameters:** | |
| - `file`: Image file | |
| - `bgcolor`: Background color - 'transparent', 'white', 'black', or hex color like '#FF0000' | |
| ### Noise Reduction | |
| #### `POST /denoise` | |
| Reduce image noise using Non-Local Means Denoising. | |
| **Parameters:** | |
| - `file`: Image file | |
| - `strength`: Denoising strength (1-30, default: 10) | |
| ### Document Scanning | |
| #### `POST /docscan` | |
| Scan and enhance document images with AI-powered processing. | |
| **Features:** | |
| - Auto-detection of document edges | |
| - Auto-crop and perspective correction | |
| - Alignment and straightening | |
| - CLAHE contrast enhancement | |
| - Bilateral noise reduction (preserves edges) | |
| - Unsharp mask sharpening | |
| - Optional HD upscaling with Real-ESRGAN | |
| **Parameters:** | |
| - `file`: Document image (PNG, JPG, JPEG, WebP, BMP) | |
| - `enhance_hd`: Enable AI HD enhancement (default: true) | |
| - `scale`: Upscale factor 1-4 (default: 2) | |
| ### Other Endpoints | |
| - `GET /docs` - Interactive Swagger UI documentation | |
| - `GET /redoc` - ReDoc documentation | |
| - `GET /model-info` - Get information about loaded AI models | |
| - `GET /health` - Health check endpoint | |
| ## Models Used | |
| | Feature | Model | Description | | |
| |---------|-------|-------------| | |
| | Super Resolution | Real-ESRGAN x4plus | State-of-the-art image upscaling | | |
| | Background Removal | BiRefNet-general | High-accuracy segmentation via rembg | | |
| | Noise Reduction | OpenCV NLM | Non-Local Means Denoising | | |
| | Document Scanning | OpenCV + Real-ESRGAN | Edge detection, perspective correction, HD enhancement | | |
| ## Local Development | |
| ```bash | |
| # Install dependencies | |
| pip install -r requirements.txt | |
| # Run the server | |
| python app.py | |
| ``` | |
| The server will start at `http://localhost:7860` | |
| ## Deployment to Hugging Face Spaces | |
| 1. Create a new Space on Hugging Face | |
| 2. Select "Docker" as the SDK | |
| 3. Upload all files from this repository | |
| 4. The Space will automatically build and start the container | |
| ## API Usage Examples | |
| ### Python - Image Enhancement | |
| ```python | |
| import requests | |
| with open("image.jpg", "rb") as f: | |
| response = requests.post( | |
| "https://your-space.hf.space/enhance", | |
| files={"file": f}, | |
| params={"scale": 4} | |
| ) | |
| with open("enhanced.png", "wb") as f: | |
| f.write(response.content) | |
| ``` | |
| ### Python - Background Removal | |
| ```python | |
| import requests | |
| with open("photo.jpg", "rb") as f: | |
| response = requests.post( | |
| "https://your-space.hf.space/remove-background", | |
| files={"file": f}, | |
| params={"bgcolor": "transparent"} | |
| ) | |
| with open("no_background.png", "wb") as f: | |
| f.write(response.content) | |
| ``` | |
| ### Python - Noise Reduction | |
| ```python | |
| import requests | |
| with open("noisy.jpg", "rb") as f: | |
| response = requests.post( | |
| "https://your-space.hf.space/denoise", | |
| files={"file": f}, | |
| params={"strength": 15} | |
| ) | |
| with open("denoised.png", "wb") as f: | |
| f.write(response.content) | |
| ``` | |
| ### Python - Document Scanning | |
| ```python | |
| import requests | |
| with open("document_photo.jpg", "rb") as f: | |
| response = requests.post( | |
| "https://your-space.hf.space/docscan", | |
| files={"file": f}, | |
| params={"enhance_hd": True, "scale": 2} | |
| ) | |
| with open("scanned_document.png", "wb") as f: | |
| f.write(response.content) | |
| ``` | |
| ### cURL Examples | |
| ```bash | |
| # Enhance image | |
| curl -X POST "https://your-space.hf.space/enhance?scale=4" \ | |
| -F "file=@image.jpg" -o enhanced.png | |
| # Remove background | |
| curl -X POST "https://your-space.hf.space/remove-background?bgcolor=transparent" \ | |
| -F "file=@photo.jpg" -o nobg.png | |
| # Denoise image | |
| curl -X POST "https://your-space.hf.space/denoise?strength=10" \ | |
| -F "file=@noisy.jpg" -o denoised.png | |
| # Scan document | |
| curl -X POST "https://your-space.hf.space/docscan?enhance_hd=true&scale=2" \ | |
| -F "file=@document.jpg" -o scanned.png | |
| ``` | |
| ## License | |
| MIT License | |