1. A method for processing an input gray-scale document image for background removal, comprising: (a) binarizing the input gray-scale image using a global threshold value close to a pixel value representing an ideal background to generate a first binarized image; (b) calculating external contours in the first binarized image; (c) identifying large external contours, and designating regions of the input gray-scale image enclosed by large external contours as candidate regions for background removal; (d) for each candidate region of the input gray-scale image, calculating a histogram of numbers of pixels having each pixel value, and based on the histogram, determining whether the candidate region is a region containing graphics; (e) individually binarizing candidate regions of the input gray-scale image that are determined not to be a region containing graphics in step (d), to generate a plurality of binarized images of the candidate regions; (f) for each binarized image of a candidate region, analyzing its geometric characteristics and/or statistics of connected components within it to determine whether the corresponding candidate region of the input image is a region containing graphics or a region containing text and/or tables; and (g) for each candidate region of the input image that is determined not to be a region containing graphics in step (e) and step (f) or is determined to be a region containing text and/or tables in step (f), removing a background in the region by setting pixels of the input image which are located in areas corresponding to white areas of the corresponding binarized image generated in step (e) to the pixel value representing the ideal background, without altering any other regions of the input image.