A full-stack Image and Video Processing Web Application built using Flask and OpenCV. The system enables real-time image manipulation, computer vision operations, and video processing through an interactive browser-based interface.
This project implements a complete computer vision processing pipeline that:
- Performs image preprocessing and transformations
- Supports real-time face detection (image & video)
- Provides interactive drawing and annotation tools
- Enables ROI extraction and edge detection
- Processes video frames with OpenCV
- Follows secure file handling and modular backend design
The application demonstrates production-ready CV workflow from upload → processing → preview → download.
To design and deploy a scalable web-based computer vision system that:
- Accepts image and video uploads
- Performs multiple OpenCV operations dynamically
- Allows real-time parameter customization
- Displays processed results instantly
- Maintains clean backend architecture with logging
- Equal blending using
cv2.addWeighted() - Adjustable weighted blending
- Automatic resizing before blending
- Custom width & height resizing using
cv2.resize() - Aspect ratio handling
- Coordinate-based ROI extraction
- Interactive canvas-based ROI selection
- Pixel-level slicing operations
- Line →
cv2.line() - Rectangle →
cv2.rectangle() - Circle →
cv2.circle() - Arrow →
cv2.arrowedLine() - Customizable color, thickness, and coordinates
- Text addition using
cv2.putText() - Dynamic timestamp insertion
- Custom font size, color, and positioning
- Haar Cascade Classifier
detectMultiScale()implementation- Real-time video face detection
- Bounding box customization
- Canny Edge Detection →
cv2.Canny() - Sobel Operator
- Laplacian Operator
- Optional Gaussian Blur preprocessing
- Frame-by-frame processing
- VideoWriter integration
- FPS maintenance
- Automatic resource cleanup
- Python
- Flask
- OpenCV (cv2)
- NumPy
- Werkzeug
- HTML5
- CSS3 (Responsive Design)
- JavaScript (ES6+)
- Canvas API
- OpenCV.js
- REST-based endpoint design
- Modular image processor class structure
- Structured logging system
- Secure file upload handling
- 200MB upload limit protection
- Exception handling for robustness
Image_Video_Preprocessing_WebApplication_using_OpenCV/
│
├── app.py
├── image_processor.py
├── log_file.py
├── README.md
│
├── Face_detection/
│
├── static/
│
└── templates/
└── index.html
Upload → Select Technique → Adjust Parameters → Process → Preview → Download
Supports single-step and sequential processing operations.
- Efficient NumPy array handling
- Proper memory cleanup
- Frame-level video processing
- Structured logging for debugging
- Scalable architecture for multi-threading
- Secure filename handling
- File type validation
- Upload size restriction
- Controlled directory access
- Error handling with user feedback
pip install -r requirements.txt
python app.py
Open in browser:
http://localhost:5000
- Cloud deployment (AWS / Render / Heroku)
- Deep learning–based face detection
- Batch image processing
- GPU acceleration support
Hema Malini Gangumalla Aspiring Data Scientist
MIT License