An image processing apparatus comprising: detection means configured to detect a first region in which a foreground object is present with respect to a plurality of captured images; retention means configured to retain a first background image which is a fixed image; generation means configured to generate a second background image based on portions of each of the plurality of captured images which are not detected as the first region; and silhouette image generation means configured to generate a silhouette image of the first region in which the foreground object is present; the image processing apparatus being characterized in that it further comprises: output means configured to select one of the first background image and the second background image based on a degree of perfection calculated from a proportion of a number of pixels of an ungenerated region, in which a background image has not been generated by the generation means in the second background image based on the plurality of captured images, to a number of pixels of a captured image, and configured to output an image corresponding to the selected background image on which the silhouette image is superimposed in a see-through manner, and in that the output means selects the first background image in a case where the degree of perfection is lower than a threshold value. detection means configured to detect a first region in which a foreground object is present with respect to a plurality of captured images; retention means configured to retain a first background image which is a fixed image; generation means configured to generate a second background image based on portions of each of the plurality of captured images which are not detected as the first region; and silhouette image generation means configured to generate a silhouette image of the first region in which the foreground object is present; the image processing apparatus being characterized in that it further comprises: output means configured to select one of the first background image and the second background image based on a degree of perfection calculated from a proportion of a number of pixels of an ungenerated region, in which a background image has not been generated by the generation means in the second background image based on the plurality of captured images, to a number of pixels of a captured image, and configured to output an image corresponding to the selected background image on which the silhouette image is superimposed in a see-through manner, and in that the output means selects the first background image in a case where the degree of perfection is lower than a threshold value. output means configured to select one of the first background image and the second background image based on a degree of perfection calculated from a proportion of a number of pixels of an ungenerated region, in which a background image has not been generated by the generation means in the second background image based on the plurality of captured images, to a number of pixels of a captured image, and configured to output an image corresponding to the selected background image on which the silhouette image is superimposed in a see-through manner, and in that the output means selects the first background image in a case where the degree of perfection is lower than a threshold value. <EOS>