1. A method for enhancing an input document image, comprising: segmenting the input document image into non-graphical regions and graphical regions; and for each non-graphical region: (a) binarizing the non-graphical region to generate a binary image containing connected components; (b) computing a plurality of levels of pseudo-skeletons for each connected component; (c) modifying pixel values of pixels of the input document image located in each of a plurality of pseudo-skeleton difference areas by applying a corresponding plurality of different inverse-degradation functions to the pixel values, each pseudo-skeleton difference area being an area between two successive levels of pseudo-skeletons.