An image processing apparatus comprising: target value calculation means configured to calculate, as a target value, a value corresponding to the number of ON dots in a predetermined region in input image data, based on pixel values of pixels included in the region; holding means configured to hold a threshold value matrix including a plurality of threshold values; and output value determination means configured to determine an output value indicating an ON dot or an OFF dot for each pixel in the region, characterized in that the image processing apparatus further comprises evaluation value calculation means (1102, 1103) configured to calculate, as an evaluation value for each pixel, a difference between a pixel value of each pixel representing the input image data and a threshold value in the threshold value matrix corresponding to the pixel for each pixel included in the region, and comparison means configured to compare an evaluation value for a pixel of interest with an evaluation value for each pixel of pixels included in the region, wherein the output value determination means is configured to determine the output value based on the target value and the comparison results for a plurality of pixels in the region, and wherein the target value calculation means comprises: average value calculation means configured to calculate an average value of pixel values of pixels included in the region; dither processing means configured to perform a dither process using the threshold value matrix by regarding a pixel value of each pixel included in the region as the average value; and totalization means configured to calculate the target value by totalizing results of the dither process performed by the dither processing means. target value calculation means configured to calculate, as a target value, a value corresponding to the number of ON dots in a predetermined region in input image data, based on pixel values of pixels included in the region; holding means configured to hold a threshold value matrix including a plurality of threshold values; and output value determination means configured to determine an output value indicating an ON dot or an OFF dot for each pixel in the region, characterized in that the image processing apparatus further comprises evaluation value calculation means (1102, 1103) configured to calculate, as an evaluation value for each pixel, a difference between a pixel value of each pixel representing the input image data and a threshold value in the threshold value matrix corresponding to the pixel for each pixel included in the region, and comparison means configured to compare an evaluation value for a pixel of interest with an evaluation value for each pixel of pixels included in the region, wherein the output value determination means is configured to determine the output value based on the target value and the comparison results for a plurality of pixels in the region, and wherein the target value calculation means comprises: average value calculation means configured to calculate an average value of pixel values of pixels included in the region; dither processing means configured to perform a dither process using the threshold value matrix by regarding a pixel value of each pixel included in the region as the average value; and totalization means configured to calculate the target value by totalizing results of the dither process performed by the dither processing means. average value calculation means configured to calculate an average value of pixel values of pixels included in the region; dither processing means configured to perform a dither process using the threshold value matrix by regarding a pixel value of each pixel included in the region as the average value; and totalization means configured to calculate the target value by totalizing results of the dither process performed by the dither processing means.