Open3D (C++ API)
Public Member Functions | Data Fields
open3d::color_map::ColorMapOptimizationOption Class Reference

Defines options for color map optimization. More...

#include <ColorMapOptimization.h>

Public Member Functions

 ColorMapOptimizationOption (bool non_rigid_camera_coordinate=false, int number_of_vertical_anchors=16, double non_rigid_anchor_point_weight=0.316, int maximum_iteration=300, double maximum_allowable_depth=2.5, double depth_threshold_for_visiblity_check=0.03, double depth_threshold_for_discontinuity_check=0.1, int half_dilation_kernel_size_for_discontinuity_map=3, int image_boundary_margin=10, int invisible_vertex_color_knn=3)
 
 ~ColorMapOptimizationOption ()
 

Data Fields

bool non_rigid_camera_coordinate_
 
int number_of_vertical_anchors_
 
double non_rigid_anchor_point_weight_
 
int maximum_iteration_
 Number of iterations for optimization steps. More...
 
double maximum_allowable_depth_
 
double depth_threshold_for_visiblity_check_
 
double depth_threshold_for_discontinuity_check_
 
int half_dilation_kernel_size_for_discontinuity_map_
 
int image_boundary_margin_
 
int invisible_vertex_color_knn_
 

Detailed Description

Defines options for color map optimization.

Constructor & Destructor Documentation

◆ ColorMapOptimizationOption()

open3d::color_map::ColorMapOptimizationOption::ColorMapOptimizationOption ( bool  non_rigid_camera_coordinate = false,
int  number_of_vertical_anchors = 16,
double  non_rigid_anchor_point_weight = 0.316,
int  maximum_iteration = 300,
double  maximum_allowable_depth = 2.5,
double  depth_threshold_for_visiblity_check = 0.03,
double  depth_threshold_for_discontinuity_check = 0.1,
int  half_dilation_kernel_size_for_discontinuity_map = 3,
int  image_boundary_margin = 10,
int  invisible_vertex_color_knn = 3 
)
inline

◆ ~ColorMapOptimizationOption()

open3d::color_map::ColorMapOptimizationOption::~ColorMapOptimizationOption ( )
inline

Field Documentation

◆ depth_threshold_for_discontinuity_check_

double open3d::color_map::ColorMapOptimizationOption::depth_threshold_for_discontinuity_check_

Parameter to check the visibility of a point. It’s often desirable to ignore points where there is an abrupt change in depth value. First the depth gradient image is computed, points are considered to be invisible if the depth gradient magnitude is larger than depth_threshold_for_discontinuity_check.

◆ depth_threshold_for_visiblity_check_

double open3d::color_map::ColorMapOptimizationOption::depth_threshold_for_visiblity_check_

Parameter to check the visibility of a point. When the difference of a point’s depth value in the RGB-D image and the point’s depth value in the 3D mesh is greater than depth_threshold_for_visiblity_check, the point is marked as invisible to the camera producing the RGB-D image.

◆ half_dilation_kernel_size_for_discontinuity_map_

int open3d::color_map::ColorMapOptimizationOption::half_dilation_kernel_size_for_discontinuity_map_

Parameter to check the visibility of a point. Related to depth_threshold_for_discontinuity_check, when boundary points are detected, dilation is performed to ignore points near the object boundary. half_dilation_kernel_size_for_discontinuity_map specifies the half-kernel size for the dilation applied on the visibility mask image.

◆ image_boundary_margin_

int open3d::color_map::ColorMapOptimizationOption::image_boundary_margin_

If a projected 3D point onto a 2D image lies in the image border within image_boundary_margin, the 3D point is considered invisible from the camera producing the image. This parmeter is not used for visibility check, but used when computing the final color assignment after color map optimization.

◆ invisible_vertex_color_knn_

int open3d::color_map::ColorMapOptimizationOption::invisible_vertex_color_knn_

If a vertex is invisible from all images, we assign the averaged color of the k nearest visible vertices to fill the invisible vertex. Set to 0 to disable this feature and all invisible vertices will be black.

◆ maximum_allowable_depth_

double open3d::color_map::ColorMapOptimizationOption::maximum_allowable_depth_

Parameter to check the visibility of a point. Points with depth larger than maximum_allowable_depth in a RGB-D will be marked as invisible for the camera producing that RGB-D image. Select a proper value to include necessary points while ignoring unwanted points such as the background.

◆ maximum_iteration_

int open3d::color_map::ColorMapOptimizationOption::maximum_iteration_

Number of iterations for optimization steps.

◆ non_rigid_anchor_point_weight_

double open3d::color_map::ColorMapOptimizationOption::non_rigid_anchor_point_weight_

Additional regularization terms added to non-rigid regularization. A higher value results gives more conservative updates. If the residual error does not stably decrease, it is mainly because images are being bended abruptly. In this case, consider making iteration more conservative by increasing the value. This option is only used when non-rigid optimization is enabled.

◆ non_rigid_camera_coordinate_

bool open3d::color_map::ColorMapOptimizationOption::non_rigid_camera_coordinate_

Set to true to enable non-rigid optimization (optimizing camera extrinsic params and image wrapping field for color assignment), set to False to only enable rigid optimization (optimize camera extrinsic params).

◆ number_of_vertical_anchors_

int open3d::color_map::ColorMapOptimizationOption::number_of_vertical_anchors_

Number of vertical anchor points for image wrapping field. The number of horizontal anchor points is computed automatically based on the number of vertical anchor points. This option is only used when non-rigid optimization is enabled.


The documentation for this class was generated from the following file: