Skip to content

vinaydahariya/android-opencv-opengl-edgeviewer

Repository files navigation

🔥 FlamEdgeDetection

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.


🧠 Tech Stack Used

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

⚙️ Features

  • 📸 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

🧩 Project Structure

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


🚀 How to Set Up and Run Locally

🔹 Prerequisites

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

🔹 Clone the Repository

git clone https://github.com/<your-username>/FlamEdgeDetection.git
cd FlamEdgeDetection

About

Real-time camera -> OpenCV(C++) -> OpenGL ES renderer + TypeScript web viewer (R&D intern assessment)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages