An image processing apparatus configured to correct at least part of a face image, the image processing apparatus comprising: an image acquisition unit configured to acquire an input image; a region extraction unit configured to extract a pupil region, which is a region corresponding to an eye of a person, from the input image; a pupil state determination unit configured to, in the pupil region, extract pixels whose brightness value is higher than a threshold value, and to, based on the result of extraction, determine whether or not halation has occurred in the pupil region, wherein, if the pixels extracted by the pupil state determination unit make up a predetermined percentage or more of the pixels in the pupil region, the pupil state determination unit determines that halation has occurred in the pupil region; and a correction unit configured to store in advance a pupil image in a normal state corresponding to the pupil region, and to perform processing for correcting halation on the pupil region by pasting the corresponding pupil image in a normal state on the pupil region if halation occurs in a pupil region; characterized by, the pupil state determination unit sets the threshold value, according to which a brightness distribution of the pixels included in the pupil region is separated into a high brightness class and a low brightness class, wherein the pupil state determination unit calculates a degree of separation, which is a ratio between an inter-class variance and an intra-class variance in the brightness distribution of the pixels included in the pupil region and sets the threshold value to a value according to which the degree of separation is maximized, wherein, if the degree of separation is less than or equal to a predetermined value and the average of the brightness values of the pixels included in the pupil region is greater than or equal to a predetermined brightness value, the correction unit performs halation correction processing regardless of the result of the determination performed by the pupil state determination unit, and/or, if the degree of separation is less than or equal to a predetermined value and the average of the brightness values of the pixels included in the pupil region is less than or equal to a predetermined brightness value, the correction unit does not perform halation correction processing regardless of the result of the determination performed by the pupil state determination unit. an image acquisition unit configured to acquire an input image; a region extraction unit configured to extract a pupil region, which is a region corresponding to an eye of a person, from the input image; a pupil state determination unit configured to, in the pupil region, extract pixels whose brightness value is higher than a threshold value, and to, based on the result of extraction, determine whether or not halation has occurred in the pupil region, wherein, if the pixels extracted by the pupil state determination unit make up a predetermined percentage or more of the pixels in the pupil region, the pupil state determination unit determines that halation has occurred in the pupil region; and a correction unit configured to store in advance a pupil image in a normal state corresponding to the pupil region, and to perform processing for correcting halation on the pupil region by pasting the corresponding pupil image in a normal state on the pupil region if halation occurs in a pupil region; characterized by, the pupil state determination unit sets the threshold value, according to which a brightness distribution of the pixels included in the pupil region is separated into a high brightness class and a low brightness class, wherein the pupil state determination unit calculates a degree of separation, which is a ratio between an inter-class variance and an intra-class variance in the brightness distribution of the pixels included in the pupil region and sets the threshold value to a value according to which the degree of separation is maximized, wherein, if the degree of separation is less than or equal to a predetermined value and the average of the brightness values of the pixels included in the pupil region is greater than or equal to a predetermined brightness value, the correction unit performs halation correction processing regardless of the result of the determination performed by the pupil state determination unit, and/or, if the degree of separation is less than or equal to a predetermined value and the average of the brightness values of the pixels included in the pupil region is less than or equal to a predetermined brightness value, the correction unit does not perform halation correction processing regardless of the result of the determination performed by the pupil state determination unit.