Literature on noise removal in OCR applications
Google research has some excellent papers, see for example:

An Overview of the Tesseract OCR Engine

Also, it seems that stackoverflow has a similar question:

https://stackoverflow.com/questions/4180629/ocr-and-image-preprocessing-techniques

The most powerful image filtering techniques that I'm aware are graph-cuts based, 
which run in the following steps:


Calculate a (sparse) distance matrix between pixels (based on their intensity)
Spectral Clustering, keep only the lowest 3-8 eigenvectors
K-means clustering of the eigenvectors