Real-time Flame & Edge Detection Android App
A research-oriented Android application demonstrating real-time image processing using OpenCV (C++ via JNI) and rendering with OpenGL ES.
This project captures live camera frames, processes them natively for edge/flame detection, and renders results efficiently using GPU acceleration.
| Layer | Technology | Purpose |
|---|---|---|
| Frontend (Mobile) | Android (Java/Kotlin) | App UI and camera control |
| Native Processing | C++ with OpenCV (via JNI) | Frame processing, edge & flame detection |
| Rendering | OpenGL ES 2.0 | Real-time GPU rendering of processed frames |
| Build System | Gradle + CMake + Android NDK | Build automation and native compilation |
| Version Control | Git & GitHub | Source code management |
- 📸 Real-time camera feed using Android Camera2 API
- 🧩 Native OpenCV (C++) processing through JNI bridge
- 🔥 Edge & flame detection filters (custom OpenCV pipelines)
- 🧠 Optimized OpenGL ES rendering for smooth real-time display
- ⚡ Toggle View Mode — switch between raw and processed frames
- 🧾 FPS Counter — monitor rendering performance
- 🧱 Modular architecture — clean separation of Android, JNI, and GL layers
FlamEdgeDetection/ │ ├── app/ # Main Android application module │ ├── src/ # UI & Camera2 code (Java/Kotlin) │ ├── build.gradle │ └── AndroidManifest.xml │ ├── jni/ # Native C++ layer (OpenCV) │ ├── include/ # Header files for JNI interfaces │ ├── src/ # C++ source files (edge detection logic) │ └── CMakeLists.txt # CMake configuration for building native libs │ ├── gl/ # OpenGL ES renderer │ ├── shaders/ # GLSL shader programs │ └── Renderer.java # OpenGL renderer class │ ├── docs/ # Screenshots, architecture diagram, demo GIF │ ├── .gitignore ├── README.md └── LICENSE
Before starting, make sure you have:
- Android Studio (latest version)
- Android SDK & NDK (installed via SDK Manager)
- CMake (installed via SDK Tools)
- OpenCV Android SDK (download from OpenCV.org)
- Git installed on your system
git clone https://github.com/<your-username>/FlamEdgeDetection.git
cd FlamEdgeDetection