Image-mapped point cloud with ability to accurately represent point coordinates
First Claim
1. A method of displaying a scene, the method comprising:
- scanning a scene to form a point cloud representing at least one point on a surface within the scene;
displaying the point cloud as an image array on a display screen such that the at least one point is represented on the display screen as a pixel;
determining location data for the at least one point by determining an offset between a reference position of the at least one pixel and an intersection point, the reference position being located on the pixel, the intersection point being the point at which a ray from the at least one point to the scanning position intersects the pixel, wherein the offset comprises data describing the position of the intersection point relative to the reference position; and
storing the location data;
wherein the offset is added to the reference position of the at least one pixel, the result normalized and multiplied by a range of a point visible in the at least one pixel in order to obtain a 3D coordinate of the point visible in the at least one pixel.
2 Assignments
0 Petitions
Accused Products
Abstract
A laser scanner scans a scene to form a point cloud representing points on a surface within the scene. The point cloud is used to create a corresponding visual representation of the point cloud from a single eye point that is displayed as an image array, such as a cube map, on a computer screen. Each point of the point cloud is represented on the computer screen as a pixel having a value other than a background value. An offset is determined between a reference position of the pixel and an intersection point, which is the point at which a ray from the point to the scanning position intersects a plane coincident with plane of the computer screen including the pixel. The offset is stored in an offset grid, whereby each pixel of the image array has a corresponding offset value in the offset grid. That is, the invention provides for encoding actual point coordinates with respect to the pixels of the image array by storing depth and angular offsets at each pixel in the image array that has an associated point. If the point spacing in a certain region is wider than the image array pixels, the gaps can be filled with, for example, RGB values to make the displayed image continuous.
52 Citations
38 Claims
-
1. A method of displaying a scene, the method comprising:
-
scanning a scene to form a point cloud representing at least one point on a surface within the scene; displaying the point cloud as an image array on a display screen such that the at least one point is represented on the display screen as a pixel; determining location data for the at least one point by determining an offset between a reference position of the at least one pixel and an intersection point, the reference position being located on the pixel, the intersection point being the point at which a ray from the at least one point to the scanning position intersects the pixel, wherein the offset comprises data describing the position of the intersection point relative to the reference position; and storing the location data;
wherein the offset is added to the reference position of the at least one pixel, the result normalized and multiplied by a range of a point visible in the at least one pixel in order to obtain a 3D coordinate of the point visible in the at least one pixel. - View Dependent Claims (2, 3)
-
-
4. A method of displaying a scene, the method comprising:
-
scanning a scene from a scanning position to form a point cloud representing at least one point on a surface within the scene observed from the scanning position; displaying the point cloud as an image array on a computer screen such that the at least one point is represented on the computer screen as a pixel having a value other than a background value; determining an offset between a reference position of the at least one pixel and an intersection point, the reference position being located on the pixel, the intersection point being the point at which a ray from the at least one point to the scanning position intersects the pixel, wherein the offset comprises data describing the position of the intersection point relative to the reference position; and storing the offset in an offset grid;
wherein the offset is added to the reference position of the at least one pixel, the result normalized and multiplied by a range of a point visible in the at least one pixel in order to obtain a 3D coordinate of the point visible in the at least one pixel. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A non-transitory machine readable medium having stored thereon sequences of program instructions, the sequences of program instructions including instructions that when executed by a data processing system, cause the data processing system to perform:
-
providing access to a point cloud representing a plurality of points on surfaces within a scene that is observed from a scanning position; displaying the point cloud as an image array on a computer screen such that each of the points is represented on the computer screen as a pixel; determining location data for each of the points by determining an offset between a reference position of the at least one pixel and an intersection point, the reference position being located on the pixel, the intersection point being the point at which a ray from the at least one point to the scanning position intersects the pixel, wherein the offset comprises data describing the position of the intersection point relative to the reference position; and storing the location data;
wherein the offset is added to the reference position of the at least one pixel, the result normalized and multiplied by a range of a point visible in the at least one pixel in order to obtain a 3D coordinate of the point visible in the at least one pixel. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A method comprising:
-
scanning a scene with a laser scanner to form a point cloud representing a plurality of points on a surface or surfaces within the scene, the laser scanner being positioned at a scanning position; displaying the point cloud as an image array on a computer screen, whereby each of the plurality of points is represented on the computer screen as a pixel having a value other than a background value; for each of the plurality of points, determining an offset value between a reference position of the pixel and an intersection point, the reference position being located on the pixel, the intersection point being a point at which a ray from a point corresponding to the pixel to the scanning position intersects the pixel, wherein the offset value describes the position of the intersection point relative to the reference position; and storing the offset in an offset grid, whereby each pixel of the image array has a corresponding offset value stored in the offset grid;
wherein the offset is added to the reference position of a pixel of the plurality of pixels, the result normalized and multiplied by a range of a point visible in the pixel in order to obtain a 3D coordinate of the point visible in the pixelstoring the offset values as an offset grid, whereby each pixel of the image array has a corresponding offset value stored in the offset grid. - View Dependent Claims (31, 32, 33, 34, 35, 36)
-
-
37. A scanning system comprising:
-
a laser scanner operable to scan a scene from a scanning position to form a point cloud image that represents a plurality of points on a surface or surfaces within the scene; a display for displaying the point cloud as an image array, such that each of the plurality of points is represented as a pixel having a value other than a background value; a data processing system for determining, for each of the plurality of points, an offset between a reference position of a pixel and an intersection point, the reference position being located on the pixel, the intersection point being a point at which a ray from the point corresponding to the pixel to the scanning position intersects the pixel and for transforming the offset determined based at least on changes in view direction and/or field of view, wherein the offset comprises data describing the position of the intersection point relative to the reference position; and memory for storing the offset of each point as an offset grid, such that each pixel of the image array has a corresponding offset stored in the offset grid;
wherein the offset is added to the reference position of the pixel, the result normalized and multiplied by a range of a point visible in the pixel in order to obtain a 3D coordinate of the point visible in the pixel. - View Dependent Claims (38)
-
Specification