A non-transitory computer-readable storage medium having embedded therein instructions, which when executed by a computer, cause the computer to perform a method of image processing for processing images captured from a plurality of positions, the method comprising:
- detecting a plurality of viewpoints of a plurality of users;
- determining whether the plurality of viewpoints are within a predetermined distance of each other;
- selecting viewpoint images of a predetermined object as viewed from the plurality of viewpoints of the plurality of users, based on the plurality of detected viewpoints of the plurality of users, from the images captured respectively from the plurality of positions;
- integrating the plurality of detected viewpoints of the plurality of users into a position of a barycenter of the plurality of detected viewpoints of the plurality of users, the integrating step further integrating the plurality of detected viewpoints of the plurality of users into a single viewpoint, based on the determination in the determining step;
- and
- generating a projected image based on the selected viewpoint images, the plurality of detected viewpoints of the plurality of users, the determination in the determining step, the integration in the integrating step, and a predetermined three dimensional shape of an interior display surface, the projected image being projected onto the interior display surface by a projector and viewed on an outer surface of the interior display surface.