Initial progress on my ColorViz WP7 app.

Updated: I added much better quality screenshots. This isn’t how the final app will look.

Update #2: Some people have mentioned the lack of a reticle in the screenshots. It’s in there, I just don’t have it visible. But you WILL have a visual indicator of where the app is sampling color. ­čÖé

Update #3: This application processes live video, not pictures. At some point, I will merge my picture processing code into this application.

Being a colorblind network engineer is challenging. We often have to struggle trying to figure out what color that wire is, or that blinking LED — is it green, red, or amber? Hell, I don’t know!┬áColorViz aims to fix that.

ColorViz is a Windows Phone 7 augmented reality application designed to help colorblind people. It processes live video in a manner that allows red/green colorblind people to distinguish colors properly. It does this with red and green filtering, which converts any pixel that’s not red or green, respectively, into grayscale. This makes hard-to-discern colors greatly stand out. It’s not quite ready for prime-time, but here’s a quick & dirty progress report.

I’ve got pretty much all the meat of the app done, what’s left is assembling it into a user-friendly experience.

Right now, the application offers:

  • color sampling (put the reticle on something, and get it’s RGB values [and soon hopefully human-readable color])
  • Red filtering
  • Green filtering
Red and green filtering work by analyzing the camera video. I came up with the idea last night, after talking colors with my wife. In red filtering mode, if a pixel isn’t reddish, it’s converted to grayscale. If the pixel is reddish, it stays reddish. Works the same in green filtering mode. Almost all of this is using the device’s GPU (Graphics Processing Unit).
See the images below. Apologies for the blurry iPhone snapshots, I don’t know how to take screenshots in WP7. I’ve only been messing with WP7 for a few days with a borrowed HTC Surround that has been beat to hell.

Note in the pictures that anything that is not sufficiently red enough is grayscale.

At some point, I would like to implement “color saving”, so that you could take a picture of that orange carpet at home and take it to Home Depot and buy matching drapes, but I haven’t yet devised an effective color calibration scheme, which would have to be done individually per camera type, due to varying CCDs and noise levels.

If you have any input, please feel free to comment or email my gmail address, username “jake541”.