Three-dimensional (3D) imaging can be performed on an object with various methods. One can rotate the object and image the rotation or just image the object and rotate the camera. However, there are some instances that the object or camera rotation is impossible to perform. An alternative is by projecting grid illuminations on the object. It is observed that distortions on the grids appear whenever a flat surface is encountered. An example of this is shown in Figure 1 where various gray code patterns are projected on a pyramid.
Figure 1. Upper images: Gray grid patterns projected on a flat surface. Bottom images: Gray grid patterns projected on a pyramid.
The 3D image of the pyramid is generated from the bit plane stack (BPS). The BPS is just the sum of the gray patterns that are each multiplied by its bit weight. The bit weights for the seven grid patterns are from 2^0 to 2^6. The BPS of the flat surface and the pyramid are shown in Figures 2 and 3.
The 3D image of the pyramid is generated from the bit plane stack (BPS). The BPS is just the sum of the gray patterns that are each multiplied by its bit weight. The bit weights for the seven grid patterns are from 2^0 to 2^6. The BPS of the flat surface and the pyramid are shown in Figures 2 and 3.
Figure 2. BPS of the flat surface.
Figure 3. BPS of the pyramid.
Figure 3. BPS of the pyramid.
The 3D image is formed from the two BPS by obtaining the displacement of the stripes. The displacement is the actual height of the object. The 3D image of the pyramid is shown in Figures 4 and 5.
There are noise from the 3D image so filtering methods must be added to the 3D reconstruction process.
I give myself a grade of 10 for this activity.
I would like to acknowledge Thirdy for lending me the images of the grid patterns for the flat surface and the pyramid.
Reference:
[1] J.Guhring, "Dense 3D surface acquisition by structured-light using off-the-shelf components,".