An image processing apparatus, comprising: an acquirer configured to acquire taken images of a target surface imaged by an imaging device in time series while the imaging device is moved by a moving object; a setter configured to set an inspection range composed of inspection areas on the target surface; a selector configured to select, for each of the inspection areas, a taken image, out of the acquired taken images, taken at the nearest position and/or having the best image quality; a generator configured to extract, for each of the inspection areas, from the selected taken image, a partial image corresponding to the inspection area on the basis of a position of the imaging device at a time of taking the selected taken image in a coordinate system of the target surface and on the basis of a corresponding relation, the corresponding relation being calculated to perform a coordinate transformation between a coordinate system of the imaging device and the coordinate system of the target surface, transform the extracted partial images from the coordinate system of the imaging device into the coordinate system of the target surface on the basis of the corresponding relation, and compose the transformed partial images on the basis of an arrangement of the inspection areas to generate an inspection area image, so that an image of an inspection area in the inspection area image is selected from a single taken image; a calculator configured to calculate the corresponding relation; and an outputter configured to output the inspection area image. an acquirer configured to acquire taken images of a target surface imaged by an imaging device in time series while the imaging device is moved by a moving object; a setter configured to set an inspection range composed of inspection areas on the target surface; a selector configured to select, for each of the inspection areas, a taken image, out of the acquired taken images, taken at the nearest position and/or having the best image quality; a generator configured to extract, for each of the inspection areas, from the selected taken image, a partial image corresponding to the inspection area on the basis of a position of the imaging device at a time of taking the selected taken image in a coordinate system of the target surface and on the basis of a corresponding relation, the corresponding relation being calculated to perform a coordinate transformation between a coordinate system of the imaging device and the coordinate system of the target surface, transform the extracted partial images from the coordinate system of the imaging device into the coordinate system of the target surface on the basis of the corresponding relation, and compose the transformed partial images on the basis of an arrangement of the inspection areas to generate an inspection area image, so that an image of an inspection area in the inspection area image is selected from a single taken image; extract, for each of the inspection areas, from the selected taken image, a partial image corresponding to the inspection area on the basis of a position of the imaging device at a time of taking the selected taken image in a coordinate system of the target surface and on the basis of a corresponding relation, the corresponding relation being calculated to perform a coordinate transformation between a coordinate system of the imaging device and the coordinate system of the target surface, transform the extracted partial images from the coordinate system of the imaging device into the coordinate system of the target surface on the basis of the corresponding relation, and compose the transformed partial images on the basis of an arrangement of the inspection areas to generate an inspection area image, so that an image of an inspection area in the inspection area image is selected from a single taken image; a calculator configured to calculate the corresponding relation; and an outputter configured to output the inspection area image.