Wednesday, February 2, 2011

AsciiCamera



AsciiCamera allows you to take a picture in ASCII style. In other words it converts your snapshot into a sequence of letters, digits and other symbols.







The application has the following set of features:
  •  Switching between color and grayscale modes
  •  Inverting. When you select it, the background turns white, the letters turn black. It's useful if you want to see how can the text result look in a text editor.
  •  Scaling
  •  Importing existing images for processing
  •  Saving the result either as png image or as HTML-page (example)

You can choose one of two ways to process images. Let's take a closer look at the algorithms.

First one takes a bunch of pixels (2x2 or 4x4) and calculates their average brightness (that means "value" in HSV color model). Then we replace these pixels with a relevant symbol. The brighter the pixels - the more "colorful" symbol we use. For instance, "@" is equivalent to white and dot is equivalent to dark gray.

The second approach is a bit more interesting. It takes every 4 pixels (2x2) and find a symbol that seems similar to these pixels (visually). So we build a matching table (16 rows in this case) that looks like this:



Here you can see a few examples of how it works.

You can find it in Android Market. QR-code:


2 comments:

Lyma said...

errr. where this save the result??!??!

jeck_landin said...

@Lyma It saves pictures to "asciicamera" folder. There was a bug, please check the latest version of Asciicamera.