A modern web application for image manipulation using Python PIL (Pillow) library. Built with Flask and designed for deployment on Vercel.
- Brightness Adjustment: Adjust image brightness with real-time preview
- Contrast Adjustment: Enhance or reduce image contrast
- Rotation: Rotate images without expanding (maintains original dimensions)
- Flip Operations: Horizontal and vertical image flipping
- Obtain Object Box: Draw a box and obtain the coordinates
- Multiple Formats: Supports PNG, JPG, JPEG, GIF, BMP, TIFF, WEBP
- Python 3.9 or higher
- pip (Python package installer)
- Clone the repository:
git clone <your-repo-url>
cd image_process- Install dependencies:
pip install -r requirements.txt- Run the application:
python app.py- Open your browser and navigate to
http://localhost:5000
- Install Vercel CLI:
npm install -g vercel- Login to Vercel:
vercel login- Deploy the application:
vercel- Follow the prompts to complete deployment
- Push your code to a GitHub repository
- Go to Vercel Dashboard
- Click "New Project"
- Import your GitHub repository
- Vercel will automatically detect the Python configuration and deploy
- Go to Vercel Dashboard
- Click "New Project"
- Choose "Upload" option
- Upload your project files
- Deploy
image_process/
├── app.py # Main Flask application
├── requirements.txt # Python dependencies
├── vercel.json # Vercel configuration
├── runtime.txt # Python runtime specification
├── templates/
│ └── index.html # Main web interface
├── uploads/ # Upload directory (created automatically)
└── README.md # This file
GET /: Main application interfacePOST /upload: Upload image filePOST /process: Process image with specified operationPOST /download: Download processed image
- Range: 0.1 to 3.0
- Default: 1.0 (original brightness)
- Values < 1.0: Darker image
- Values > 1.0: Brighter image
- Range: 0.1 to 3.0
- Default: 1.0 (original contrast)
- Values < 1.0: Lower contrast
- Values > 1.0: Higher contrast
- Range: -180° to 180°
- Default: 0° (no rotation)
- Rotation is performed without expanding the canvas
- Horizontal: Mirror image left-to-right
- Vertical: Mirror image top-to-bottom
- Backend: Flask (Python)
- Image Processing: PIL (Pillow)
- Frontend: HTML5, CSS3, JavaScript (Vanilla)
- Deployment: Vercel
- File Size Limit: 16MB
- Supported Formats: PNG, JPG, JPEG, GIF, BMP, TIFF, WEBP
- Chrome 60+
- Firefox 55+
- Safari 12+
- Edge 79+
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is open source and available under the MIT License.
If you encounter any issues or have questions, please open an issue on the GitHub repository.