Abstract:
A correction-data generating unit divides, into a matrix of row blocks in a sub scanning direction and column blocks in a main scanning direction, white data on a transfer drum read by a reading unit during a predetermined time period that is shorter than a time period in which the read point of the transfer drum is returned to a position where the reading unit has started reading the first white reference member, calculates, for each column of the matrix, a correction-data candidate value corresponding to a variation ratio of a mean of data of the row blocks in the sub-scanning direction, and determines a minimum value of the calculated correction-data candidate values as the correction data. A shading-data correcting corrects the shading data by using the generated correction data. A shading correcting unit performs shading correction on image data of a document after the correction data is generated.