Input pixels are input to a thinning processing circuit. When thinning is
performed at the thinning processing circuit, minimum values are selected
in order to reduce the pixel data, whereby loss of thin lines is
prevented. The thinned image data are input to a binarization processing
circuit. Although the image having been thinned through selection of
minimum values becomes dark as a whole, collapse of characters can be
suppressed, because the binarization processing circuit dynamically
changes a binarization threshold by employing, as the binarization
threshold, the average of maximum and minimum values in each local
region. In a density flat portion, the local maximum value and the local
minimum value assume the same value. Therefore, when the difference
between the local maximum value and the local minimum value is not
greater than a predetermined range, binarization is performed by use of a
fixed threshold value. Instead of local maximum and minimum values, a
local average value may be used as a binarization threshold value.