Inspiration

We are a team of electrical and computer engineers who have done some image processing in the past and were interested in doing more! We decided to design a project that helps users with accessibility through image processing, and Color Blind Assist was born.

What it does

Color Blind Assist takes in user images, or an image from their computer's live feed, and can apply filters to the RGB spectrum of the image to make colors more accessible to those with color blindness. The application can edit images specifically for three types of color blindness: deuteranopia (red-green colorblindness caused by deficiency in green cones), protanopia (red-green colorblindness caused by deficiency in red cones) and tritanopia (blue-yellow colorblindness caused by deficiency in blue cones). The saturation of the edits for easier viewing can also be edited using a slider in the user interface. It also allows the user to download the edited image once they have finished editing it to their liking.

How we built it

We started with a basic image filtering program which could take in user images and apply color filters to a higher or lower degree based on a slider in the GUI. We then decided to add more advanced features, such as access to the user's computer camera for a live feed and the ability for the user to download their edited images. We heavily relied on the Java Swing toolkit for functions like ActionListeners to take in user inputs, and Java CV from ByteDeco to access the user's camera.

Challenges we ran into

  • Using unfamiliar toolkits (ex. Java Swing, Java AWI)
  • Setting up dependencies with Maven for ByteDeco
  • Live camera feed security walls

Accomplishments that we're proud of

Being able to add live user camera into Color Blind Assist was a big step for us and definitely a major feature in terms of catering to the customer. It was difficult to align the dependencies, but we eventually managed to sort it out and are extremely proud of being able to build this project in such a short amount of time!

What we learned

We are relatively inexperienced with UI building in Java, so getting comfortable with Swing and AWT was challenging but is certainly a useful skill we will carry forward. Additionally, working with Java image filters and live camera feed was a new skill for both of us.

What's next for Color Blind Assist

If we continue to develop this product, we would like to add a moving video filter. Currently, the video filter takes a single frame and statically filters it for download. However, being able to live filter a video would be more useful for potential users. This would also place a high amount of load on the user's CPU, so this is something that needs to be considered in the future.

Built With

Share this project:

Updates