An image transforming device for transforming a part of a captured image of an object based on a predetermined type of transformation, the image transforming device comprising: obtaining means for obtaining the captured image of the object; detecting means for detecting characteristic points of the object from the captured image of the object; control point setting means for setting (i) control points for the captured image based on the characteristic points and on an arrangement pattern corresponding to the predetermined type of transformation and (ii) movement information indicative of a movement amount of and a movement direction of each of the control points based on a movement pattern corresponding to the predetermined type of transformation, the movement direction which is set for the each of the control points by the control point setting means being a direction from the each of the control points to any of the characteristic points; characterized in that the image transforming device further comprises grid point setting means for arranging grid points for the captured image independently of locations of the control points and setting, based on the control points and the movement information of the control points, movement information (MVg) of each of the grid points, the grid points being regular and being set by dividing the captured image in a grid pattern in which each side of a grid is parallel to one of two coordinate axes used for showing a location of each of pixels included in the captured image, the grid point setting means setting the movement information (MVg) of the grid points by (i) calculating a movement amount of the each of the grid points using high-order interpolation in accordance with a distribution of movement information of control points in a vicinity of the each of the grid points and (ii) setting a movement direction of the each of the grid points to be a direction from the each of the grid points to the any of the characteristic points; and image transforming means for transforming an image area by moving the grid points based on the movement information (MVg) of the grid points, the image area being a quadrangle, the grid points being four vertices of the quadrangle. obtaining means for obtaining the captured image of the object; detecting means for detecting characteristic points of the object from the captured image of the object; control point setting means for setting (i) control points for the captured image based on the characteristic points and on an arrangement pattern corresponding to the predetermined type of transformation and (ii) movement information indicative of a movement amount of and a movement direction of each of the control points based on a movement pattern corresponding to the predetermined type of transformation, the movement direction which is set for the each of the control points by the control point setting means being a direction from the each of the control points to any of the characteristic points; characterized in that the image transforming device further comprises grid point setting means for arranging grid points for the captured image independently of locations of the control points and setting, based on the control points and the movement information of the control points, movement information (MVg) of each of the grid points, the grid points being regular and being set by dividing the captured image in a grid pattern in which each side of a grid is parallel to one of two coordinate axes used for showing a location of each of pixels included in the captured image, the grid point setting means setting the movement information (MVg) of the grid points by (i) calculating a movement amount of the each of the grid points using high-order interpolation in accordance with a distribution of movement information of control points in a vicinity of the each of the grid points and (ii) setting a movement direction of the each of the grid points to be a direction from the each of the grid points to the any of the characteristic points; and image transforming means for transforming an image area by moving the grid points based on the movement information (MVg) of the grid points, the image area being a quadrangle, the grid points being four vertices of the quadrangle.