Skip to content

Latest commit

 

History

History
103 lines (54 loc) · 4.74 KB

README.md

File metadata and controls

103 lines (54 loc) · 4.74 KB

Color Detection

The primary objective of this project is to design, implement, and evaluate an android application that assists color-blind individuals to be able to identify colors they are not able to see. Research says that 1 in 12 men is color blind while only 1 in 200 women have the condition. 95% of the color-blind community are men 98% of those with color blindness have red-green blindness This will also provide a simple and beneficial tool for individuals that work with colors such as painters and designers, to improve their productivity rates by locating colors quickly and easily.

image

System Design

  1. The color detector application enables users to identify colors in real-time using the camera on their mobile device. Alternatively, they can upload or take a photo to detect colors in the photograph.

  2. The User Interface(UI) includes a screen that displays the selected picture.

  3. It also consists of a camera button which presents two options: Camera icon: allows users to take a photo. Gallery icon: enables you to choose an existing picture from your gallery.

  4. The app also allows users to crop the picture to obtain color results for a specific part of the image.

  5. The camera feature in the app includes a magnifying glass option to zoom and capture a picture.

  6. After the user selects a picture, the app provides a button labeled "Generate Result." Once clicked, the button generates the result, i.e., the HEX code of the color followed by the name of the color.

Color Detection in Different Scenario

  1. CASE : 1

When the picture has just one color  --> The app returns the color in the picture selected.

image

  1. CASE : 2

When the picture has equal dominance(equal spit) of two colors. --> In such rare cases, the app tends to choose one of the two colors.

image

  1. CASE : 3

When the picture has more than one color  --> The app chooses the color which is dominant in the picture selected.

image

Application Design

  1. The design of the application enables to capture images or open saved images in the gallery and generate their dominant color.

  2. This functionality is performed by a dedicated floating action button. After selecting an image, the user can crop it and select the portion they want to know the color of. The image will then be saved and displayed in the center of the screen.

  3. To generate the dominant color of the selected portion, the user needs to click on the "Generate Result" button. The ColorFinder Java class will be called to perform the color generation functionality, and the dominant color will be displayed below the button.

image

Image Capturing

  1. We have used the ImagePicker library, which can pick an image from the gallery or capture image using the device camera.

image

  1. Crop Image ( Crop image based on provided aspect ratio or let the user use)

  2. Retrieve image as uri object.

  3. Handling runtime permission for camera.

  4. Users can select between the Camera option and Gallery option; here, we have shown the process if the user intends to choose the camera option and capture real-time images. Otherwise, if the user selects the Gallery option, the application has provided permission to access the local storage drive and select any available image from there.

image image image

Energy Consumption

image

License

MIT

References:

  1. https://stackoverflow.com/a/28673282 - image to hexadecimal of most dominant pixel

  2. https://github.com/Dhaval2404/ImagePicker - picking image from camera / gallery with cropping

  3. https://square.github.io/retrofit/ - android library

  4. https://www.thecolorapi.com/docs#schemes-generate-scheme-get - API Calling