Generating a three-dimensional image
Abstract
Methods and systems for generating a three-dimensional image are provided. The method includes capturing an image and a depth map of a scene using an imaging device. The image includes a midpoint between a right side view and a left side view of the scene, and the depth map includes distances between the imaging device and objects within the scene. The method includes generating a right side image using the image and the depth map by calculating an appropriate location of each pixel within the image as viewed from the right side, and generating a left side image using the image and the depth map by calculating an appropriate location of each pixel within the image as viewed from the left side. The method also includes combining the right side image and left side image to generate a three-dimensional image of the scene and correcting the three-dimensional image.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method for generating a three-dimensional image, comprising:
capturing an image and a depth map of a scene using an imaging device, wherein the image comprises a midpoint between a right side view of the scene and a left side view of the scene, and wherein the depth map comprises distances between the imaging device and objects within the scene; generating a right side image of the scene using the image and the depth map by calculating an appropriate location of each pixel within the image as viewed from the right side; generating a left side image of the scene using the image and the depth map by calculating an appropriate location of each pixel within the image as viewed from the left side; combining the right side image and the left side image to generate a three-dimensional image of the scene; and correcting the three-dimensional image.
2 . The method of claim 1 , wherein the method is executed by a graphics processing unit (GPU) of a computing device.
3 . The method of claim 1 , wherein correcting the three-dimensional image comprises smoothing pixels within the image for which there are no image data based on surrounding pixels within the image.
4 . The method of claim 1 , wherein correcting the three-dimensional image comprises approximating pixels for a portion of a background of the image that is covered by an object within the scene by averaging pixels in a surrounding portion of the background.
5 . The method of claim 1 , wherein correcting the three-dimensional image comprises using previously-generated images of the scene to determine portions of a background of the image for which there are no image data.
6 . The method of claim 1 , comprising using the depth map to filter out pixels within the image that represent objects that are more than a specified distance from the imaging device.
7 . The method of claim 1 , wherein correcting the three-dimensional image comprises separating a foreground of the three-dimensional image from a background of the three-dimensional image.
8 . The method of claim 7 , comprising overlaying the foreground of the three-dimensional image on top of a different background.
9 . The method of claim 1 , comprising using the three-dimensional image to enable remote collaboration between a user of a computing device on which the three-dimensional image is generated and one or more remote users.
10 . A system for generating a three-dimensional image, comprising:
a processor that is adapted to execute stored instructions; and a storage device that stores instructions, the storage device comprising processor executable code that, when executed by the processor, is adapted to:
obtain an image and a depth map of a scene from an imaging device;
generate a right side image of the scene using the image and the depth map by calculating an appropriate location of each pixel within the image as viewed from the right side;
generate a left side image of the scene using the image and the depth map by calculating an appropriate location of each pixel within the image as viewed from the left side;
combine the right side image and the left side image to generate a three-dimensional image of the scene;
separate a foreground of the three-dimensional image from a background of the three-dimensional image; and
overlay the foreground on top of a separate background.
11 . The system of claim 10 , wherein the image comprises a midpoint between a right side view of the scene and a left side view of the scene.
12 . The system of claim 10 , wherein the depth map comprises distances between the imaging device and objects within the scene.
13 . The system of claim 10 , wherein the processor executable code is adapted to:
obtain, from remote systems, images and corresponding depth maps taken from different locations using different imaging devices; generate a plurality of three-dimensional images from the images and the corresponding depth maps; separate a foreground of each of the plurality of three-dimensional images from a background of each of the plurality of three-dimensional images; overlay the foreground of each of the plurality of three-dimensional images on top of a common background.
14 . The system of claim 13 , wherein the processor executable code is adapted to use the plurality of three-dimensional images overlaid on top of the common background to enable remote collaboration between the system and the remote systems from which any of the images and corresponding depth maps were obtained.
15 . The system of claim 14 , wherein the plurality of three-dimensional images comprises hands of users of the system and the remote systems, and wherein enabling the remote collaboration between the system and the remote systems comprises displaying the hands of the users on a display screen such that the hands appear to be floating over the display screen and interacting with the display screen.
16 . The system of claim 9 , wherein the processor comprises a graphics processing unit (GPU).
17 . One or more tangible, non-transitory computer-readable storage media for storing computer-readable instructions, the computer-readable instructions providing a system for generating three-dimensional images when executed by one or more processing modules, the computer-readable instructions comprising code configured to:
obtain an image and a depth map of a scene from an imaging device; generate a right side image of the scene using the image and the depth map; generate a left side image of the scene using the image and the depth map; combine the right side image and the left side image to generate a three-dimensional image of the scene; separate a foreground of the three-dimensional image from a background of the three-dimensional image; and overlay the foreground on top of a separate background.
18 . The tangible, non-transitory computer-readable storage media of claim 17 , wherein the computer-readable instructions comprise code configured to generate the right side image of the scene by calculating an appropriate location of each pixel within the image as viewed from the right side.
19 . The tangible, non-transitory computer-readable storage media of claim 17 , wherein the computer-readable instructions comprise code configured to generate the left side image of the scene by calculating an appropriate location of each pixel within the image as viewed from the left side.
20 . The tangible, non-transitory computer-readable storage media of claim 17 , wherein the computer-readable instructions comprise code configured to overlay the foreground of the three-dimensional image on top of a common background on which a plurality of separate three-dimensional images have been overlaid.Join the waitlist — get patent alerts
Track US2013329985A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.