An image processing apparatus configured to generate multi-valued color material amount data for controlling an amount of color material used by a printing unit, the image processing apparatus comprising: a gamma correction data generating unit configured to generate, based on the results of reading a test pattern output by the printing unit, gamma correction data for bringing the reproduction characteristics of the printing unit close to a target value; a gamma correction data adjusting unit configured to generate adjusted gamma correction data by performing terminal endpoint correction on the gamma correction data generated by the gamma correction data generating unit; a color material amount correction data generating unit configured to generate color material amount correction data indicating, for a value of the adjusted gamma correction data, a ratio of a value of the gamma correction data, for which the value of the adjusted gamma correction data has been generated, to the value of the adjusted gamma correction data; a color space conversion unit configured to convert the color space of input multivalued image data; a gamma correction unit configured to perform gamma correction for the multivalued image data, the color space of which has been converted, by using the adjusted gamma correction data; a halftone processing unit configured to generate halftone image data by performing halftone processing on the multivalued image data for which gamma correction has been performed; and a color material amount control unit configured to generate, for a pixel in the halftone image data, a value of the multi-valued color material amount data for controlling the amount of color material used for forming a dot constituting the pixel in that a value of the pixel in the halftone image data is scaled in proportion to a ratio according to the color material amount correction data for a value of a corresponding pixel in the multivalued image data after gamma correction according to the adjusted gamma correction data, wherein the corresponding pixel in the multivalued image data after gamma correction according to the adjusted gamma correction data is a pixel for which the pixel in the halftone image data has been generated by the halftone processing. a gamma correction data generating unit configured to generate, based on the results of reading a test pattern output by the printing unit, gamma correction data for bringing the reproduction characteristics of the printing unit close to a target value; a gamma correction data adjusting unit configured to generate adjusted gamma correction data by performing terminal endpoint correction on the gamma correction data generated by the gamma correction data generating unit; a color material amount correction data generating unit configured to generate color material amount correction data indicating, for a value of the adjusted gamma correction data, a ratio of a value of the gamma correction data, for which the value of the adjusted gamma correction data has been generated, to the value of the adjusted gamma correction data; a color space conversion unit configured to convert the color space of input multivalued image data; a gamma correction unit configured to perform gamma correction for the multivalued image data, the color space of which has been converted, by using the adjusted gamma correction data; a halftone processing unit configured to generate halftone image data by performing halftone processing on the multivalued image data for which gamma correction has been performed; and a color material amount control unit configured to generate, for a pixel in the halftone image data, a value of the multi-valued color material amount data for controlling the amount of color material used for forming a dot constituting the pixel in that a value of the pixel in the halftone image data is scaled in proportion to a ratio according to the color material amount correction data for a value of a corresponding pixel in the multivalued image data after gamma correction according to the adjusted gamma correction data, wherein the corresponding pixel in the multivalued image data after gamma correction according to the adjusted gamma correction data is a pixel for which the pixel in the halftone image data has been generated by the halftone processing.