Open3D (C++ API)
|
Data Structures | |
class | ColorMapOptimizationJacobian |
class | ColorMapOptimizationOption |
Defines options for color map optimization. More... | |
class | ImageWarpingField |
Functions | |
void | ColorMapOptimization (geometry::TriangleMesh &mesh, const std::vector< std::shared_ptr< geometry::RGBDImage >> &imgs_rgbd, camera::PinholeCameraTrajectory &camera, const ColorMapOptimizationOption &option=ColorMapOptimizationOption()) |
Function for color mapping of reconstructed scenes via optimization. More... | |
template<typename VecInTypeDouble , typename VecInTypeInt , typename MatOutType , typename VecOutType > | |
std::tuple< MatOutType, VecOutType, double > | ComputeJTJandJTrNonRigid (std::function< void(int, VecInTypeDouble &, double &, VecInTypeInt &)> f, int iteration_num, int nonrigidval, bool verbose) |
template std::tuple< Eigen::MatrixXd, Eigen::VectorXd, double > | ComputeJTJandJTrNonRigid (std::function< void(int, Eigen::Vector14d &, double &, Eigen::Vector14i &)> f, int iteration_num, int nonrigidval, bool verbose) |
std::tuple< float, float, float > | Project3DPointAndGetUVDepth (const Eigen::Vector3d X, const camera::PinholeCameraTrajectory &camera, int camid) |
std::tuple< std::vector< std::vector< int > >, std::vector< std::vector< int > > > | CreateVertexAndImageVisibility (const geometry::TriangleMesh &mesh, const std::vector< std::shared_ptr< geometry::Image >> &images_depth, const std::vector< std::shared_ptr< geometry::Image >> &images_mask, const camera::PinholeCameraTrajectory &camera, double maximum_allowable_depth, double depth_threshold_for_visiblity_check) |
template<typename T > | |
std::tuple< bool, T > | QueryImageIntensity (const geometry::Image &img, const Eigen::Vector3d &V, const camera::PinholeCameraTrajectory &camera, int camid, int ch, int image_boundary_margin) |
template<typename T > | |
std::tuple< bool, T > | QueryImageIntensity (const geometry::Image &img, const ImageWarpingField &field, const Eigen::Vector3d &V, const camera::PinholeCameraTrajectory &camera, int camid, int ch, int image_boundary_margin) |
void | SetProxyIntensityForVertex (const geometry::TriangleMesh &mesh, const std::vector< std::shared_ptr< geometry::Image >> &images_gray, const std::vector< ImageWarpingField > &warping_field, const camera::PinholeCameraTrajectory &camera, const std::vector< std::vector< int >> &visiblity_vertex_to_image, std::vector< double > &proxy_intensity, int image_boundary_margin) |
void | SetProxyIntensityForVertex (const geometry::TriangleMesh &mesh, const std::vector< std::shared_ptr< geometry::Image >> &images_gray, const camera::PinholeCameraTrajectory &camera, const std::vector< std::vector< int >> &visiblity_vertex_to_image, std::vector< double > &proxy_intensity, int image_boundary_margin) |
void | SetGeometryColorAverage (geometry::TriangleMesh &mesh, const std::vector< std::shared_ptr< geometry::Image >> &images_color, const camera::PinholeCameraTrajectory &camera, const std::vector< std::vector< int >> &visiblity_vertex_to_image, int image_boundary_margin, int invisible_vertex_color_knn) |
void | SetGeometryColorAverage (geometry::TriangleMesh &mesh, const std::vector< std::shared_ptr< geometry::Image >> &images_color, const std::vector< ImageWarpingField > &warping_fields, const camera::PinholeCameraTrajectory &camera, const std::vector< std::vector< int >> &visiblity_vertex_to_image, int image_boundary_margin, int invisible_vertex_color_knn) |
void open3d::color_map::ColorMapOptimization | ( | geometry::TriangleMesh & | mesh, |
const std::vector< std::shared_ptr< geometry::RGBDImage >> & | imgs_rgbd, | ||
camera::PinholeCameraTrajectory & | camera, | ||
const ColorMapOptimizationOption & | option = ColorMapOptimizationOption() |
||
) |
Function for color mapping of reconstructed scenes via optimization.
This is implementation of following paper Q.-Y. Zhou and V. Koltun, Color Map Optimization for 3D Reconstruction with Consumer Depth Cameras, SIGGRAPH 2014.
mesh | The input geometry mesh. |
imgs_rgbd | A list of RGBDImages seen by cameras. |
camera | Cameras’ parameters. |
option | Color map optimization options. Takes the original ColorMapOptimizationOption values by default. |
std::tuple< MatOutType, VecOutType, double > open3d::color_map::ComputeJTJandJTrNonRigid | ( | std::function< void(int, VecInTypeDouble &, double &, VecInTypeInt &)> | f, |
int | iteration_num, | ||
int | nonrigidval, | ||
bool | verbose = true |
||
) |
Function to compute JTJ and Jtr Input: function pointer f and total number of rows of Jacobian matrix Output: JTJ, JTr, sum of r^2 Note: this function is almost identical to the functions in Utility/Eigen.h/cpp, but this function takes additional multiplication pattern that can produce JTJ having hundreds of rows and columns.
template std::tuple<Eigen::MatrixXd, Eigen::VectorXd, double> open3d::color_map::ComputeJTJandJTrNonRigid | ( | std::function< void(int, Eigen::Vector14d &, double &, Eigen::Vector14i &)> | f, |
int | iteration_num, | ||
int | nonrigidval, | ||
bool | verbose | ||
) |
std::tuple< std::vector< std::vector< int > >, std::vector< std::vector< int > > > open3d::color_map::CreateVertexAndImageVisibility | ( | const geometry::TriangleMesh & | mesh, |
const std::vector< std::shared_ptr< geometry::Image >> & | images_depth, | ||
const std::vector< std::shared_ptr< geometry::Image >> & | images_mask, | ||
const camera::PinholeCameraTrajectory & | camera, | ||
double | maximum_allowable_depth, | ||
double | depth_threshold_for_visiblity_check | ||
) |
|
inline |
std::tuple< bool, T > open3d::color_map::QueryImageIntensity | ( | const geometry::Image & | img, |
const Eigen::Vector3d & | V, | ||
const camera::PinholeCameraTrajectory & | camera, | ||
int | camid, | ||
int | ch, | ||
int | image_boundary_margin | ||
) |
std::tuple< bool, T > open3d::color_map::QueryImageIntensity | ( | const geometry::Image & | img, |
const ImageWarpingField & | field, | ||
const Eigen::Vector3d & | V, | ||
const camera::PinholeCameraTrajectory & | camera, | ||
int | camid, | ||
int | ch, | ||
int | image_boundary_margin | ||
) |
void open3d::color_map::SetGeometryColorAverage | ( | geometry::TriangleMesh & | mesh, |
const std::vector< std::shared_ptr< geometry::Image >> & | images_color, | ||
const camera::PinholeCameraTrajectory & | camera, | ||
const std::vector< std::vector< int >> & | visiblity_vertex_to_image, | ||
int | image_boundary_margin, | ||
int | invisible_vertex_color_knn | ||
) |
void open3d::color_map::SetGeometryColorAverage | ( | geometry::TriangleMesh & | mesh, |
const std::vector< std::shared_ptr< geometry::Image >> & | images_color, | ||
const std::vector< ImageWarpingField > & | warping_fields, | ||
const camera::PinholeCameraTrajectory & | camera, | ||
const std::vector< std::vector< int >> & | visiblity_vertex_to_image, | ||
int | image_boundary_margin, | ||
int | invisible_vertex_color_knn | ||
) |
void open3d::color_map::SetProxyIntensityForVertex | ( | const geometry::TriangleMesh & | mesh, |
const std::vector< std::shared_ptr< geometry::Image >> & | images_gray, | ||
const std::vector< ImageWarpingField > & | warping_field, | ||
const camera::PinholeCameraTrajectory & | camera, | ||
const std::vector< std::vector< int >> & | visiblity_vertex_to_image, | ||
std::vector< double > & | proxy_intensity, | ||
int | image_boundary_margin | ||
) |
void open3d::color_map::SetProxyIntensityForVertex | ( | const geometry::TriangleMesh & | mesh, |
const std::vector< std::shared_ptr< geometry::Image >> & | images_gray, | ||
const camera::PinholeCameraTrajectory & | camera, | ||
const std::vector< std::vector< int >> & | visiblity_vertex_to_image, | ||
std::vector< double > & | proxy_intensity, | ||
int | image_boundary_margin | ||
) |