1. An image processing method for generating and outputting an image of a virtual space, comprising: a first acquisition step of acquiring a position and orientation of a viewpoint of an observer; an input step of inputting an image of a physical space which is seen from the observer viewpoint; a second acquisition step of acquiring a position and orientation of a physical object having a movable part; a movement acquisition step of acquiring a moving amount of the movable part of the physical object; a moving step of moving a virtual movable part of a virtual object, corresponding to the movable part of the physical object, based on the moving amount; a holding step of holding positions and/or orientations of indices, arranged on the physical object, in a holding unit; a detection step of obtaining image coordinates of the indices arranged on the physical object from the image input in the input step; a correction step of correcting the position and orientation of the viewpoint of the observer acquired in the first acquisition step using the image coordinates of indices obtained in the detection step and the positions and/or orientations of the indices held in the holding unit; a generation step of generating an image which is seen when the virtual object, the virtual movable part of which is moved in the moving step, is observed from the observer viewpoint, based on the position and orientation of the viewpoint of the observer and the position and orientation of the physical object; and an output step of outputting the image generated in the generation step while superimposing the generated image onto the image input in the input step.