69 lines
1.3 KiB
Markdown
69 lines
1.3 KiB
Markdown
# 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
|