Enlargify is a web application that allows users to upload an image, choose from various enlargement algorithms, and view the processed image. The application features a modern, developer-themed UI and supports image enlargement with different interpolation techniques. It also provides options to download the processed image.
- Image Upload: Select and upload images from your local storage.
- Algorithm Selection: Choose from multiple enlargement algorithms including Zero Order Hold, Bilinear Interpolation, and Linear Interpolation.
- Scale Factor: Adjust the scale factor to control the enlargement size.
- Image Display: View the processed image on the same screen.
- Download Option: Download the enlarged image to your local machine.
- Monochromatic Theme: A sleek, programmer-inspired UI with a modern design.
You can view a demonstration of the application here: Enlargify Demo
-
Clone the repository:
git clone https://github.com/your-repo/enlargify.git cd enlargify
-
Navigate to the frontend directory:
cd lib
-
Install Flutter dependencies:
flutter pub get
-
Run the Flutter application:
flutter run
-
Navigate to the backend directory:
cd Backend
-
Create a virtual environment (optional but recommended):
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install backend dependencies:
If you have not created a
requirements.txt
file, install the dependencies manually:pip install flask flask-cors pillow numpy
If you have a
requirements.txt
file, you can install the dependencies using:pip install -r requirements.txt
-
Run the Flask server:
python main.py
- Open the Flutter app in your web browser.
- Select an image using the "Pick an image" button.
- Choose an enlargement algorithm from the dropdown menu.
- Adjust the scale factor using the slider.
- Click "Enlarge Image" to send the request to the backend.
- View the processed image displayed on the screen.
- Download the image using the "Download Image" button.
Contributions are welcome! Please open an issue or submit a pull request if you would like to contribute to this project.
This project is licensed under the MIT License - see the LICENSE file for details.