Color blindness is a condition that affects a person's ability to perceive and distinguish colors. It is a condition that affects approximately 8% of men and 0.5% of women. People with color blindness have difficulty distinguishing between certain colors or may not be able to see colors at all. The most common form of color blindness is deuteranopia color blindness, which affects the ability to distinguish between shades of red and green. However, there are also other types of color blindness as some may have difficulty distinguishing between certain colors, such as red and green, blue and yellow, or other color combinations. This can make it challenging to complete certain tasks, such as reading maps, identifying color-coded information, or distinguishing between color-coded wires or cables. There are different types of color blindness, and the severity of the condition can vary depending on the individual. Some people have mild color vision deficiencies and can still perceive colors, while others may see the world in shades of gray. Inherited color blindness is caused by a genetic mutation that affects the cells in the retina that are responsible for color vision. Acquired color blindness can also occur due to certain diseases, injuries, or exposure to certain chemicals or medications. There is no cure for color blindness, but there are some tools and techniques that can help people with color vision deficiencies. These include color-coded labels and signs that are easy to read, computer software that adjusts colors on a screen to make them more distinguishable, and specialized glasses or contact lenses that can enhance color vision for some individuals. It's important to note that color blindness is not the same as total blindness. People with color blindness can still see and function normally in many aspects of life, and there are many successful people with color vision deficiencies in various fields, including art, science, and sports.
Flutter is an open-source mobile application development framework created by Google that allows developers to build high-performance and visually appealing applications for mobile, web, and desktop platforms from a single codebase. It uses the Dart programming language, which was also developed by Google, and provides a wide variety of pre-built widgets and tools that can also be used to create custom UI designs. One of the most significant advantages of using Flutter is its hot reload feature. This feature allows developers to see the changes they make to the code without having to restart the entire program, which makes the development process faster and more efficient. Flutter allows developers to build applications for multiple platforms, such as Android, iOS, web, and desktop, from a single codebase. This saves time and effort, as developers don't have to create separate codebases for each platform.
This application helps people with color blindness by generalizing the colors that they select. There are many shades of color, and many times, those shades do not convey any meaningful information. Most of the time, color-blind people need help identifying the general color of the shades that they cannot see. These shades do not interfere with most of the daily tasks in life. At most, it is a problem with aesthetics, as different shades can pair better with others; however, that is a factor that can be dismissed. By allowing users to generally identify the shades of colors that they can't see, they get a rough idea of what the color may look like. This gives them the necessary amount of information needed to make more important decisions in their daily lives.
This application can be broken down into four different processes that work together to allow it to properly function:
The first process is the camera feature. This part of the process takes the user to a separate page within the application that requests to use the device's camera. Once the application gains access or establishes the connection, the camera feed is shown in real-time on the user's screen by placing the camera feed information on a widget that is updated consistently with what the camera is capturing.
The second process is capturing an image. Once the user is satisfied with the camera's position, they would click a button that captures that moment and takes them back to the main page. In this short period, the application makes a temporary directory to save the image on the device. It creates storage that will lose its contents once the application is closed, thus not taking up permanent storage on the user's device.
The third process consists of converting the captured image into a bitmap and decoding it. This process also occurs within the short period that the user clicks the button to capture an image. After the image has been stored in a temporary directory, this process accesses the file location and converts the image into a bitmap. This is an essential process, as it converts each pixel within the captured image into individual bits of information, which can then be used to extract and obtain the RGB values for each pixel within the image. The application then decodes the bitmap, turning it back into an image to preset for the users on the main page.
The fourth process consists of position-finding within the presented image. The decoded bitmap image is placed on top of a widget that detects the horizontal and vertical locations that the user is holding on the screen. This location is compared with the decoded image, which then extracts the RGB values of the selected pixel within the image. The color of the selected pixel, along with its associated name, is then displayed for the user.
One of the most prominent features that could be added to this application would be a video capture feature. Currently, this application can only take still images that a user would like to inspect. At times, a video feature would be better, as it allows users to capture more of the situation that they would like to inspect without consuming much time. That said, another feature that would also improve this application would be real-time color detection. Instead of having users take pictures and inspect them, having a live feed that can directly interpret certain colors on a user's camera without capturing them would make things more efficient and easier to operate. Additionally, a touch-up on the UI of the application would also help in the overall appeal of the application and can help overall improve the user experience.
In this work, Achilles determined to create an application that can help people with color disabilities.
Developing a Color Detection Application to Assist with Color Blindness