An image processing apparatus configured to process image data obtained by imaging surroundings of a vehicle through a plurality of imaging devices (71, 72, 73, 74) mounted on the vehicle, the image processing apparatus comprising: a state information obtaining unit configured to obtain state information that indicates a state of driving operation of the vehicle; an image storage unit configured to store a plurality of two-dimensional image data pieces obtained from the plurality of imaging devices (71, 72, 73, 74) whose viewing fields partly overlap with each other; a specifying unit (12, 13) configured to composite the plurality of two-dimensional image data pieces stored in the image storage unit into a shape of a three-dimensional projection surface when the state information obtaining unit has obtained given state information, and then specify, in accordance with the state information, a compositing method for overlapping portions of the viewing fields or transformation information to be used for transformation from a three-dimensional image based on obtained three-dimensional image data into projection image data viewed from a position of a viewpoint along a line-of-sight direction determined on the basis of the state information; and an image transformation unit configured to transform the plurality of two-dimensional image data pieces, stored in the image storage unit, into projection image data for outputting from an image output unit to a display device, by using the compositing method or the transformation information specified by the specifying unit (12, 13), wherein the specifying unit (12, 13) is further configured to calculate, in accordance with the state information obtained by the state information obtaining unit, a boundary position angle between a line that runs along a longitudinal side of the vehicle and a boundary line that indicates the compositing position boundary between two of said plurality of two-dimensional image data pieces when compositing said plurality of two-dimensional image data pieces so as to generate one three-dimensional image data piece pasted on said three-dimensional projection surface. a state information obtaining unit configured to obtain state information that indicates a state of driving operation of the vehicle; an image storage unit configured to store a plurality of two-dimensional image data pieces obtained from the plurality of imaging devices (71, 72, 73, 74) whose viewing fields partly overlap with each other; a specifying unit (12, 13) configured to composite the plurality of two-dimensional image data pieces stored in the image storage unit into a shape of a three-dimensional projection surface when the state information obtaining unit has obtained given state information, and then specify, in accordance with the state information, a compositing method for overlapping portions of the viewing fields or transformation information to be used for transformation from a three-dimensional image based on obtained three-dimensional image data into projection image data viewed from a position of a viewpoint along a line-of-sight direction determined on the basis of the state information; and an image transformation unit configured to transform the plurality of two-dimensional image data pieces, stored in the image storage unit, into projection image data for outputting from an image output unit to a display device, by using the compositing method or the transformation information specified by the specifying unit (12, 13), wherein the specifying unit (12, 13) is further configured to calculate, in accordance with the state information obtained by the state information obtaining unit, a boundary position angle between a line that runs along a longitudinal side of the vehicle and a boundary line that indicates the compositing position boundary between two of said plurality of two-dimensional image data pieces when compositing said plurality of two-dimensional image data pieces so as to generate one three-dimensional image data piece pasted on said three-dimensional projection surface.