This project is an Android application that captures a live camera feed and analyzes it in real-time to display the five most dominant colors along with their respective percentages. The app continuously updates the display as the camera captures new frames.
- Live Camera Feed Integration: Utilizes Android's CameraX library for capturing live camera feed.
- Real-Time Image Processing: Scales down the captured image for faster processing and uses multithreading to divide and process the image concurrently.
- Dominant Color Extraction: Identifies the most dominant colors, counts color occurrences using a bucketing technique, and combines results from different sections of the image.
- Dynamic UI Updates: Displays the top five dominant colors with their percentages, using custom binding adapters to format the percentage text and adjust text color based on background color for better readability.
- Programming Language: Java
- Android SDK: Utilized for app development and CameraX integration
- Image Processing: Custom utility classes for scaling and color bucketing
- Multithreading: Java's ExecutorService for concurrent image processing tasks
- Data Binding: Custom data binding adapters for formatting and displaying data
This project demonstrates the integration of real-time image processing with an Android application's UI, showcasing efficient use of threading and custom data binding to provide a seamless user experience.
You can download it from the Google Play Store: