Deep.Imager is a Python application powered by Streamlit that upscales images without any loss in quality. This app implements traditional upscaling methods and incorporates advanced deep learning models to provide high-quality image enhancement.
-
Traditional Upscaling Methods: (Including my own albeit slower implementations)
- Bicubic Interpolation
- Lanczos Interpolation
-
Deep Learning Models:
- EDSR_x4.pb: Enhanced Deep Residual Networks for Single Image Super-Resolution (increases resolution by 4x).
- ESPCN_x4.pb: Efficient Sub-Pixel Convolutional Neural Network for Real-Time Super-Resolution (increases resolution by 4x).
- FSRCNN_x3.pb: Fast Super-Resolution Convolutional Neural Network (increases resolution by 3x).
- LapSRN_x8.pb: Deep Laplacian Pyramid Networks for Fast and Accurate Image Super-Resolution (increases resolution by 8x).
-
Additional Features:
- Gaussian sharpening kernel for enhanced image details.
- Download the output image as a PNG file.
To run Deep.Imager, follow these steps:
- Clone the repository:
git clone https://github.com/yourusername/ImageUpscaler.git cd ImageUpscaler
- Create a Python Virtual Environment
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
- Install requirements.txt
pip install -r requirements.txt
- Run app.py
streamlit run app.py
- Upload an image using the file uploader.
- Choose the desired upscaling method (traditional or deep learning model).
- Optionally, apply the Gaussian sharpening filter.
- View the upscaled image and download it as a PNG file.
I welcome contributions! Please feel free to submit issues, feature requests, or pull requests.
- EDSR: Enhanced Deep Residual Networks for Single Image Super-Resolution
- ESPCN: Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network
- FSRCNN: Accelerating the Super-Resolution Convolutional Neural Network
- LapSRN: Fast and Accurate Image Super-Resolution with Deep Laplacian Pyramid Networks