1. An image processing apparatus, comprising: an edge image generating unit configured to detect edges in an original image and to generate an edge image formed by the detected edges; a connection pixel extracting unit configured to extract connection pixel sets in the edge image; a binary image generating unit configured to classify the connection pixel sets by colors and generate respective character images which are binary images corresponding to the colors; a background image generating unit configured to generate a background image of the original image on the basis of the character images; and an image compressing unit configured to compress image data of the character images and image data of the background image using respective different compressing methods; wherein regarding a color difference that is a difference between a color of the original image on a pixel other than the connection pixel set in a rectangular area that is an inside area of a rectangle circumscribed to the connection pixel set and a color of the original image on a pixel in the connection pixel set, the binary image generating unit is further configured (a) to identify whether the connection pixel set is a character or non character by comparing a value of a predetermined index that indicates unevenness of the color differences with a color difference threshold value, (b) to identify whether a size of the rectangular area is small or large on the basis of a predetermined threshold value, and (c) to set the color difference threshold value as a value if the size of the rectangular area is small and as another different value if the size of the rectangular area is large.