An image processing apparatus comprising: correction means configured to generate, from an image signal representing a scene captured under two or more different types of light sources, a first developed image signal by correcting the image signal with a first white balance correction value corresponding to a first light source in the scene, said first white balance correction value being determined from color evaluation values (Cx[i], Cy[i]) of the image signal and a white detection range (401, 402) along a blackbody locus, and a second developed image signal by correcting the image signal with a second white balance correction value corresponding to a second light source in the scene, said second white balance correction value being determined from an analysis of the scene and white balance correction values predetermined for each light source; division means configured to divide the image signal, the first developed image signal and the second developed image signal into a plurality of corresponding blocks; color evaluation value calculation means configured to calculate a color evaluation value (Cx[i], Cy[i]) for each of the blocks of the image signal, wherein said first white balance correction value is determined by averaging color values of pixels in each of the blocks of the image signal and adding the color average values (R[i], G[i], B[i]) of the blocks having color evaluation values (Cx[i], Cy[i]) located within the white detection range (401, 402); combining ratio calculation means configured to calculate a combining ratio (α[i]) for each block based on a distance between the color evaluation value (Cx[i], Cy[i]) of the block of the image signal and a predetermined color evaluation value prepared by shooting a white object under the second light source and calculating the color evaluation value thereof in advance; and combining means configured to combine for each block the first developed image signal and the second developed image signal according to the combining ratio (α[i]), and to generate a combined image signal. correction means configured to generate, from an image signal representing a scene captured under two or more different types of light sources, a first developed image signal by correcting the image signal with a first white balance correction value corresponding to a first light source in the scene, said first white balance correction value being determined from color evaluation values (Cx[i], Cy[i]) of the image signal and a white detection range (401, 402) along a blackbody locus, and a second developed image signal by correcting the image signal with a second white balance correction value corresponding to a second light source in the scene, said second white balance correction value being determined from an analysis of the scene and white balance correction values predetermined for each light source; division means configured to divide the image signal, the first developed image signal and the second developed image signal into a plurality of corresponding blocks; color evaluation value calculation means configured to calculate a color evaluation value (Cx[i], Cy[i]) for each of the blocks of the image signal, wherein said first white balance correction value is determined by averaging color values of pixels in each of the blocks of the image signal and adding the color average values (R[i], G[i], B[i]) of the blocks having color evaluation values (Cx[i], Cy[i]) located within the white detection range (401, 402); combining ratio calculation means configured to calculate a combining ratio (α[i]) for each block based on a distance between the color evaluation value (Cx[i], Cy[i]) of the block of the image signal and a predetermined color evaluation value prepared by shooting a white object under the second light source and calculating the color evaluation value thereof in advance; and combining means configured to combine for each block the first developed image signal and the second developed image signal according to the combining ratio (α[i]), and to generate a combined image signal.