# Panorama Image Stitcher An Android application that creates seamless 360-degree panoramic images from multiple overlapping photographs using OpenCV. ## Features - Upload multiple images from device gallery - Automatic feature detection and matching - Image alignment and blending - High-quality panorama export - Real-time progress feedback ## Tech Stack - **Language**: Kotlin - **UI**: Jetpack Compose with Material3 - **Architecture**: Clean Architecture (MVVM) - **Computer Vision**: OpenCV for Android - **Dependency Injection**: Hilt - **Async**: Kotlin Coroutines & Flow - **Min SDK**: 24 (Android 7.0) - **Target SDK**: 34 (Android 14) ## Project Structure ``` app/src/main/java/com/panorama/stitcher/ ├── data/ # Data layer (repositories, data sources) ├── domain/ # Domain layer (use cases, business logic) └── presentation/ # Presentation layer (UI, ViewModels) ├── theme/ # Compose theme configuration └── MainActivity.kt ``` ## Build ```bash ./gradlew build ``` ## Run ```bash ./gradlew installDebug ``` ## Testing ```bash # Unit tests ./gradlew test # Instrumented tests ./gradlew connectedAndroidTest ``` ## Dependencies - Jetpack Compose - Hilt for DI - OpenCV 4.8.0 - Kotlin Coroutines - Kotest for property-based testing - MockK for mocking ## License MIT