An image processor for converting input multi-grayscale image data, into
binary data for each of the pixels has a binary unit. If a grayscale
value of the multi-grayscale image data of a target pixel is lower than a
reference value less than 1/2 of a maximum grayscale value, the binary
unit converts the input image data into the binary data of a "dot
present" or "dot absent" based on a threshold matrix, in which a
plurality of threshold values are dispersed without concentrating a
plurality of low threshold values, and if the grayscale value of the
multi-grayscale image data is higher than the reference value, the binary
unit converts the input image data into the binary data of a "dot
present", and propagating an error by adding the error to the peripheral
pixels based on a first error diffusion matrix.