# 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)