An image processing device comprising: a recognition unit configured to recognize an environment recognition matrix (M recog) representing a position and an attitude of an environment appearing in an image with respect to a position and an attitude of the image processing device; a calculation unit configured to calculate an inverse matrix (M -1 recog) of the environment recognition matrix (M recog); and a manipulation control unit configured to control manipulation of a virtual object (21, 22) arranged in the environment in a three-dimensional manipulation amount according to a difference between a first position (V mobile) or a first attitude (R mobile) based on the inverse matrix (M -1 recog) of the environment recognition matrix recognized at a first time point and a second position (V mobile) or a second attitude (R mobile) based on the inverse matrix (M -1 recog) of the environment recognition matrix recognized at a succeeding second time point, wherein the manipulation amount is a rotation amount (D rot) according to the difference between the first attitude (R mobile) and the second attitude (R mobile), wherein the first time point is a time point at which a first user input is detected in the image processing device, and wherein the second time point is a time point at which a second user input is detected in the image processing device, characterized in that the first position or the second position are related to a position offset matrix (T touch) that describes a movement in a direction on a screen of the image processing device according to a user input position on the screen, and in that the manipulation control unit is configured to specify the virtual object (21, 22) to be manipulated based on the location of the first user input. a recognition unit configured to recognize an environment recognition matrix (M recog) representing a position and an attitude of an environment appearing in an image with respect to a position and an attitude of the image processing device; a calculation unit configured to calculate an inverse matrix (M -1 recog) of the environment recognition matrix (M recog); and a manipulation control unit configured to control manipulation of a virtual object (21, 22) arranged in the environment in a three-dimensional manipulation amount according to a difference between a first position (V mobile) or a first attitude (R mobile) based on the inverse matrix (M -1 recog) of the environment recognition matrix recognized at a first time point and a second position (V mobile) or a second attitude (R mobile) based on the inverse matrix (M -1 recog) of the environment recognition matrix recognized at a succeeding second time point, wherein the manipulation amount is a rotation amount (D rot) according to the difference between the first attitude (R mobile) and the second attitude (R mobile), wherein the first time point is a time point at which a first user input is detected in the image processing device, and wherein the second time point is a time point at which a second user input is detected in the image processing device, characterized in that the first position or the second position are related to a position offset matrix (T touch) that describes a movement in a direction on a screen of the image processing device according to a user input position on the screen, and in that the manipulation control unit is configured to specify the virtual object (21, 22) to be manipulated based on the location of the first user input.