This chapter contains operators for multi-view 3D reconstruction.
With multi-view 3D reconstruction, it is possible to generate 3D objects using 2D images from multiple cameras. It is possible to reconstruct the complete 3D surface of an object, or single 3D points.
In the following, the steps that are required to reconstruct surfaces and
points are described briefly. Note that a well-calibrated camera setup
is the main requirement for a precise 3D reconstruction; see
Calibration for more details. Additionally, in the HDevelop
example reconstruct_surface_mixed_camera_types.hdev
, a typical
calibration workflow (from the calibration data model via the camera setup
model to the stereo model) is performed.
First, create the stereo model using
If you want to reconstruct 3D points, choose the Method
'points_3d'
.
For the reconstruction of surfaces, the methods
'surface_pairwise'
and 'surface_fusion'
are
available. For detailed information on these two methods, have a look
at the reference manual entry of
.
reconstruct_surface_stereo
( 1) | ( 2) | ( 3) |
( 1) | ( 2) | ( 3) |
For the reconstruction of 3D surfaces, multiple binocular stereo
reconstructions are performed, and then combined. For the binocular
reconstruction, image pairs have to be specified. For example, for the
three images shown above, the image pairs might be [0,1]
and
[1,2]
. The image pairs have to be specified using
and query the image pairs with
For more information, see
as well as
the above-mentioned operators.
reconstruct_surface_stereo
With
you can optimize the settings of the 3D reconstruction for your setup.
When reconstructing surfaces, it is highly recommended to limit the 3D reconstruction using a bounding box which is as tight as possible around the object that is to be reconstructed.
When using the 'surface_fusion'
in
Method
, it is recommended to first optimize the
parameters of the create_stereo_model
'surface_pairwise'
, since it
is used as a basis. For more details on the parameters, see the examples
Method
reconstruct_surface_stereo_pairwise_workflow.hdev
and
reconstruct_surface_stereo_fusion_workflow.hdev
.
You can query the set parameters with
Then, to perform the actual reconstruction, use
Note that to query these intermediate results, you must enable the
'persistence'
mode for the stereo model with
before performing the reconstruction.
set_stereo_model_param
With
you can access and inspect intermediate results of a surface
reconstruction performed with
. These
images can be used for troubleshooting the reconstruction process.
reconstruct_surface_stereo
With
you can get the 3D object model that was reconstructed with
as an intermediate result using
the reconstruct_surface_stereo
Method
'surface_fusion'
.
clear_stereo_model
create_stereo_model
get_stereo_model_image_pairs
get_stereo_model_object
get_stereo_model_object_model_3d
get_stereo_model_param
reconstruct_points_stereo
reconstruct_surface_stereo
set_stereo_model_image_pairs
set_stereo_model_param