<a id="e3d-depthmap"></a>

# Depth Map

A depth map is a way to represent a 3D object using a 2D grayscale image where each pixel (u, v) in the image contains a third coordinate as its gray value.

The grayscale values of a depth map do not necessarily represent a Z metric coordinate. In the context of a laser triangulation setup, these values represent the displacement of the laser line profile, which is not the physical height of the 3D surface.

![image](assets/images/easy3d/basic_concepts_1.webp)

A depth map contains a gray scale image coded on 8, 16 or 32 bits per pixel.

* One specific gray value, called the undefined value, is reserved for the representation of invalid pixels.
* By default, this value is 0 for integer depth map types ([`EDepthMap8`](../../../doxygen_cpp/classeVision_1_1Easy3D_1_1EDepthMap8.html) [<sub>.NET</sub>](../../../doxygen_cs/classeVision_1_1Easy3D_1_1EDepthMap8.html) [<sub>Python</sub>](../../../doxygen_python/classeVision_1_1Easy3D_1_1EDepthMap8.html) and [`EDepthMap16`](../../../doxygen_cpp/classeVision_1_1Easy3D_1_1EDepthMap16.html) [<sub>.NET</sub>](../../../doxygen_cs/classeVision_1_1Easy3D_1_1EDepthMap16.html) [<sub>Python</sub>](../../../doxygen_python/classeVision_1_1Easy3D_1_1EDepthMap16.html)).
* By default, this value is the lowest float value (-3.402823 e+38) for the 32 bits floating point depth map types ([`EDepthMap32f`](../../../doxygen_cpp/classeVision_1_1Easy3D_1_1EDepthMap32f.html) [<sub>.NET</sub>](../../../doxygen_cs/classeVision_1_1Easy3D_1_1EDepthMap32f.html) [<sub>Python</sub>](../../../doxygen_python/classeVision_1_1Easy3D_1_1EDepthMap32f.html)).

The calibration process aims to convert the depth map representation to real, metric 3D representations such as point clouds or meshes.

#### HINT
Depth maps are gray scale images where each pixel represents a displacement in the third dimension. Because of the acquisition procedure, they are usually not dimensionally correct. So, while **eVision** 2D image operators are compatible with depth maps, you should not use them for processes requiring precise measurements.
