Improvements 

    There are several aspects of this project that can be improved upon.  Now that we have a very fast, c/c++ interface, major additions to this project should give minor additions to execution time if done within the dll.  This will summarize the current problems with the project, as well as ideas for future improvement. They are:

  1. Blue ink.  The current approach does not work well with blue ink, although "normal" blue ink will most likely work fine.  However, some of the antialiased pixel data will probably be lost from text written with blue ink.  This is might be acceptable, but the blue component of our algorithm could be modified to provide better results in the cases that blue ink is used for text.  A better technique would be to keep a record of the original image, clean the image using the current technique, see if a majority of the ink pixels are predominantly blue, and then restore the appropriate pixel data from the original image to the final image before resizing.
  2. Noise filtering.  This algorithm could use some improvement.  Most likely, the area of consideration needs to be enlarged, but making it too large won't remove the noise near the text, such as noise remaining from lines within the sheet of paper.  One possible solution would be to try to use an area that has a very wide width, but a small height, or tweaking out the line detection and removal algorithms that I modified from the Hough algorithm.
  3. Holes.  Notes scanned with holes, depending on the scanner, will leave large blotches of ink left in their place.  This could be removed with an algorithm that scans a large block of pixel data, and removes the pixels that correspond to this block.   However, this might also remove bullets or other similarly shaped text.
  4. Find a way to save the final images in compressed GIF format.
  5. Improve the printing output if possible.
  6. Get new versions of PIL as they are released.