A web-based digital image forensics suite built with Python (Flask), OpenCV, and Real-ESRGAN for detecting image tampering and performing AI-powered restoration — all in your browser.
- Full Audit — one-click tamper-detection report with an overall risk verdict
- Forensics Core — Error Level Analysis (ELA), Noise Pattern Analysis, Clone/Copy-Move Detection, Metadata & EXIF Extraction
- Signal & Matrices — Frequency (FFT) Analysis, PCA Channel Decomposition, Luminance Gradient, Histogram / Posterisation Analysis
- AI Restoration — Real-ESRGAN upscaling
- Expose Feature — Denoise (NLM/Bilateral/Gaussian/Wavelet), Deblur (Wiener/Unsharp/Richardson-Lucy), Watermark Removal, Color Enhancement (CLAHE/EQ/White Balance/Gamma), Contour Extraction
- Local Workspace — multi-tab workspaces, pan/zoom, geometry transform (rotate/scale/shear/flip), level sweep, undo/redo
- Flask — web framework
- OpenCV — image processing & computer vision
- NumPy / SciPy — numerical analysis
- Real-ESRGAN — AI super-resolution (PyTorch)
- Upload an image (JPG, PNG, TIFF, WEBP — max 10 MB)
- Click Full Audit to get an instant manipulation-risk verdict, or drill into individual modules
- Inspect the visualizations and findings in dedicated result tabs
- Optionally enhance or restore the image with the processing tools
- Create and activate a virtual environment
python -m venv venv venv\Scripts\activate # Windows # source venv/bin/activate # Linux / macOS
- Install dependencies
pip install -r requirements.txt
- Start the server
python app.py
- Open http://localhost:5000 in your browser
The Real-ESRGAN weights (~67 MB) are auto-downloaded on the first upscale request, so the repository stays lightweight.
ImageForensicsPro/
├── assets/ # Demo images
├── app.py # Flask web server (entry point)
├── image_forensics/ # Core engines: analysis, forensics, processing
├── static/ # Frontend assets (CSS, JavaScript)
├── templates/ # HTML templates
├── weights/ # AI model weights (auto-downloaded)
├── LICENSE
└── README.md
This project is licensed under the MIT License — see the LICENSE file for details.
Melvin (@CodeMelvin)

