# Shooting Target Detection SDK v1.0.0
Android SDK for bullet hole detection and shooting target analysis.
## ๐ฆ Package Contents
```
SDK_v1.0.0/
โโโ android/
โ โโโ app-release.apk # Release APK (96.4 MB)
โ โโโ app-release.aab # App Bundle for Google Play (48.2 MB)
โโโ docs/
โ โโโ API_DOCUMENTATION.md
โโโ README.md
```
## ๐ฏ Features
- **YOLO-based Bullet Detection** - AI-powered bullet hole recognition using TensorFlow Lite
- **MJPEG Camera Streaming** - Real-time camera feed support with HTTP/HTTPS streams
- **Phone Camera Integration** - Use device camera for target capture
- **Image Processing** - Brightness, contrast, and filter adjustments
- **Target Scoring System** - Automatic ring detection and bullet scoring
- **Multi-language Support** - English and Slovenian translations
- **Google Calendar Integration** - Track shooting sessions
- **Customizable UI** - Material Design with dark theme support
## ๐ฑ System Requirements
### Minimum Requirements
- **Android Version**: 5.0 (API 21) or higher
- **RAM**: 2GB minimum, 4GB recommended
- **Storage**: 150MB free space
- **Camera**: Any device camera or network camera support
- **Network**: For MJPEG streaming (optional)
### Recommended
- **Android Version**: 8.0 (API 26) or higher
- **RAM**: 4GB or more
- **Processor**: ARM64 or x86_64
- **Camera**: 12MP or higher for best detection accuracy
## ๐ Installation
### Option 1: Install APK (Direct Installation)
```bash
adb install app-release.apk
```
### Option 2: Deploy via Google Play (AAB)
Upload `app-release.aab` to Google Play Console for distribution.
## ๐ง Configuration
### Permissions Required
The SDK requires the following Android permissions:
```xml
```
### Network Configuration
For MJPEG camera streaming, ensure network security config allows cleartext traffic:
```xml
```
## ๐ Usage
### 1. Camera Stream Detection
```
1. Open the app
2. Navigate to "Camera Streams" section
3. Add your MJPEG camera URL (e.g., http://192.168.1.100:8080/video)
4. Select the camera and start detection
5. Tap capture button to analyze target
```
### 2. Phone Camera Detection
```
1. Open the app
2. Navigate to "Phone Camera" section
3. Set number of expected bullets (1-5)
4. Align target in the frame
5. Capture baseline image (empty target)
6. Shoot your rounds
7. Capture final image to see detected bullets
```
### 3. Target Analysis
```
1. After capture, view detected bullets overlaid on target
2. Check ring detection and scoring
3. View shooting history in calendar
4. Export results to Google Calendar
```
## ๐จ Customization
### Image Adjustments
- **Brightness**: -100 to +100
- **Contrast**: 50% to 200%
- **Filters**: None, Greyscale, Invert
### Detection Settings
- **Bullet Count**: 1-5 expected bullets
- **Zoom**: 1x to 5x for camera streams
- **Auto-stop**: Automatic capture when target count reached
## ๐ Language Support
The SDK supports:
- ๐ฌ๐ง English
- ๐ธ๐ฎ Slovenian (Slovenลกฤina)
Language can be changed in the settings menu.
## ๐ Technical Specifications
### AI Model
- **Framework**: TensorFlow Lite
- **Model**: YOLOv8 (optimized for mobile)
- **Input Size**: 640x640 pixels
- **Detection Classes**:
- Bullet holes
- Target rings (10-ring system)
- Center point
### Image Processing
- **Supported Formats**: JPEG, PNG
- **Max Resolution**: 4096x4096 pixels
- **Processing Time**: < 2 seconds per image (on recommended hardware)
### Camera Support
- **MJPEG Streams**: HTTP/HTTPS streaming
- **Device Camera**: All standard Android cameras
- **Resolution**: Auto-adjusted based on device capabilities
## ๐ Security & Privacy
- โ
All processing done on-device (no cloud upload)
- โ
Camera permissions requested at runtime
- โ
Optional Google Calendar integration
- โ
No telemetry or analytics tracking
- โ
Images stored locally only
## ๐ Version History
### v1.0.0 (2025-10-18)
- โจ Initial release
- โ
YOLO bullet detection
- โ
MJPEG streaming support
- โ
Phone camera integration
- โ
Calendar integration
- โ
Multi-language support
- โ
iOS support configured
- ๐ Fixed filter application on error screens
- ๐ Fixed zoom on error states
- ๐ Removed duplicate calendar badges
## ๐ ๏ธ Troubleshooting
### Camera Stream Not Connecting
- Check camera URL format: `http://IP:PORT/video`
- Ensure camera is on same network
- Verify `usesCleartextTraffic="true"` in AndroidManifest.xml
### Detection Not Working
- Ensure good lighting conditions
- Clean camera lens
- Target should fill at least 50% of frame
- Check that YOLO model is included in assets
### Performance Issues
- Close other apps to free RAM
- Reduce image resolution in settings
- Disable unnecessary features (filters, calendar sync)
## ๐ป Development Info
Built with:
- **Flutter**: 3.29.3
- **Dart**: 3.3.0+
- **Android SDK**: 36.0.0
- **Min SDK**: 21 (Android 5.0)
- **Target SDK**: 35 (Android 15)
## ๐ง Support
For issues, questions, or feature requests:
- Create an issue in the project repository
- Contact: [Your contact information]
## ๐ License
Copyright ยฉ 2025. All rights reserved.
---
๐ค Built with [Claude Code](https://claude.com/claude-code)