E-Mali is an plant disease detection app which works on self trained model and is backed by openrouter.ai api for detailed solution for plant diseases.
# 🌿 Plant Disease Identification — Android App
An Android app that identifies plant diseases from a photo of a leaf, running a
**Convolutional Neural Network (transfer learning, MobileNetV2)** **on-device**
with **TensorFlow Lite** — no internet connection required at prediction time.
> BCA Final Project (DCA3202) — *Plant Diseases Identification*
> Stack as per synopsis: Python · TensorFlow/Keras → **TensorFlow Lite** · CNN ·
> OpenCV/PIL · NumPy/Pandas · Matplotlib · **Android (Kotlin)** · Git
---
## ✨ Features
1. **Capture or pick** a leaf photo (**Camera** or **Gallery**).
2. **On-device CNN inference** via TensorFlow Lite — fully offline, no internet needed.
3. **Rich result card:** predicted disease, crop name, color-coded **Healthy / Diseased** status chip, and an animated confidence bar.
4. **Disease knowledge base:** a plain-language **description** and **recommended treatment/action** for each disease (bundled offline).
5. **Top-3 possibilities** shown as visual confidence bars.
6. **On-device inference time** displayed (e.g. "Analyzed on-device in 38 ms").
7. **Low-confidence warning** prompting a clearer photo.
8. **Share** the diagnosis as text to any app.
9. **Session scan history** of the last 5 scans with thumbnails.
10. **Material 3 UI** — app bar, cards, tonal/outlined buttons, progress indicators; background inference keeps the UI responsive.
There are **two parts**:
| Part | Where | Language | Role |
|------|-------|----------|------|
| **Model training** | project root (`train.py`, `src/`) | Python | Train the CNN once, export a `.tflite` model |
| **Android app** | `android-app/` | Kotlin | Ship the `.tflite` model and run it on the phone |
---
## 📁 Project structure
```
plantDisease/
├── train.py # Trains the CNN and exports model.tflite + labels.txt
├── make_sample_dataset.py # Tiny synthetic dataset for smoke-testing the pipeline
├── requirements.txt # Python (training) dependencies
├── src/
│ ├── config …