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:
- 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.
- 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.
- 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.
- Find a way to save the final images in compressed GIF format.
- Improve the printing output if possible.
- Get new versions of PIL as they are released.