A computer-implemented method of generating an image of a subject in a scene, the method comprising: obtaining a first image and a second image of a subject in a scene, each image corresponding to a different respective viewpoint of the subject, each image being captured by a different respective camera; wherein at least some of the subject is occluded by a foreground object in the first image and the at least some of the subject is not occluded in the second image by virtue of the different viewpoints; obtaining camera pose data indicating a pose of the camera for each image; re-projecting, based on a difference in camera poses associated with each image, at least a portion of the second image corresponding to the subject to correspond to the viewpoint from which the first image was captured; and characterized by combining the re-projected portion of the second image corresponding to the subject with at least the portion of the first image corresponding to the subject so as to generate a composite image of the subject from the viewpoint of the first image, wherein the composite image of the subject from the viewpoint of the first image comprises the re-projected portion of the second image corresponding to the subject providing image data for at least some of the subject that is occluded by the foreground object in the first image, wherein re-projecting at least the portion of the second image to correspond to the viewpoint from which the first image was captured comprises: obtaining depth data associated with the second image; generating a polygonal mesh of the subject based on the second image and associated depth data, the polygonal mesh being generated without a prior step of generating a point cloud of the subject; and re-projecting at least some portions of the polygonal mesh to be perpendicular to a direction corresponding to the first viewpoint. obtaining a first image and a second image of a subject in a scene, each image corresponding to a different respective viewpoint of the subject, each image being captured by a different respective camera; wherein at least some of the subject is occluded by a foreground object in the first image and the at least some of the subject is not occluded in the second image by virtue of the different viewpoints; obtaining camera pose data indicating a pose of the camera for each image; re-projecting, based on a difference in camera poses associated with each image, at least a portion of the second image corresponding to the subject to correspond to the viewpoint from which the first image was captured; and characterized by combining the re-projected portion of the second image corresponding to the subject with at least the portion of the first image corresponding to the subject so as to generate a composite image of the subject from the viewpoint of the first image, wherein the composite image of the subject from the viewpoint of the first image comprises the re-projected portion of the second image corresponding to the subject providing image data for at least some of the subject that is occluded by the foreground object in the first image, wherein re-projecting at least the portion of the second image to correspond to the viewpoint from which the first image was captured comprises: obtaining depth data associated with the second image; generating a polygonal mesh of the subject based on the second image and associated depth data, the polygonal mesh being generated without a prior step of generating a point cloud of the subject; and re-projecting at least some portions of the polygonal mesh to be perpendicular to a direction corresponding to the first viewpoint. obtaining depth data associated with the second image; generating a polygonal mesh of the subject based on the second image and associated depth data, the polygonal mesh being generated without a prior step of generating a point cloud of the subject; and re-projecting at least some portions of the polygonal mesh to be perpendicular to a direction corresponding to the first viewpoint.