Class CreateCloudFromDisparityImages

java.lang.Object
boofcv.alg.mvs.CreateCloudFromDisparityImages

public class CreateCloudFromDisparityImages extends Object
Creates a point cloud from multiple disparity images. An effort is made to avoid adding the same point twice to the cloud. Initially the cloud is kept in separate lists to make it easy to see which view contributed what points to the cloud.
  • Field Details

    • disparitySimilarTol

      public double disparitySimilarTol
      If the cloud point projects to a pixel with a disparity within this tolerance the pixel will not be added. Units are in disparity pixels.
  • Constructor Details

    • CreateCloudFromDisparityImages

      public CreateCloudFromDisparityImages()
  • Method Details

    • reset

      public void reset()
      Clears previously added views and points.
    • addCloud

      public int addCloud(List<Point3D_F64> cloud)
      Adds a point cloud. This can be used to add prior data.
      Parameters:
      cloud - (Input) A point cloud. This is copied.
      Returns:
      The index of the view that can be used to retrieve the specified points added
    • addInverseDepth

      public int addInverseDepth(GrayF32 inverseDepth, Se3_F64 world_to_view, Point2Transform2_F64 norm_to_pixel, PixelTransform<Point2D_F64> pixel_to_norm)

      Add points from the inverse depth image

      NOTE: The reason point and pixel transforms are used is that combined disparity images might include lens distortion.
      Parameters:
      inverseDepth - (Input) Disparity image
      world_to_view - (Input) Transform from world to view reference frame
      norm_to_pixel - (Input) Transform from normalized image coordinates into pixels
      pixel_to_norm - (Input) Transform from pixels into normalized image coordinates.
      Returns:
      The index of the view that can be used to retrieve the specified points added