Class ScaleSceneStructure

java.lang.Object
boofcv.abst.geo.bundle.ScaleSceneStructure

public class ScaleSceneStructure extends Object
Normalizes variables in the scene to improve optimization performance. Different normalization is applied depending on the points being homogenous or not, metric or projective.

Homogenous:
Each point is normalized such that the F-norm is equal to 1. Same goes for translation if metric.

Regular:
If points are 3D then their mean and standard deviation are computed. The points are transformed such that the set will have a mean of zero and a standard deviation of 1.

How to use this class.
  1. Call applyScale() to compute and then apply the transform
  2. Call undoScale() to revert back to the original coordinate system
  • Field Details

  • Constructor Details

    • ScaleSceneStructure

      public ScaleSceneStructure(double desiredDistancePoint)
      Configures how scaling is applied
      Parameters:
      desiredDistancePoint - desired scale for points to have
    • ScaleSceneStructure

      public ScaleSceneStructure()
  • Method Details

    • applyScale

      public void applyScale(SceneStructureMetric structure, SceneObservations observations)
      Applies the scale transform to the input scene structure. Metric.
      Parameters:
      structure - 3D scene
      observations - Observations of the scene
    • applyScale

      public void applyScale(SceneStructureProjective structure, SceneObservations observations)
      Applies the scale transform to the input scene structure. Metric.
      Parameters:
      structure - 3D scene
      observations - Observations of the scene
    • applyScaleToPixelsAndCameraMatrix

      public void applyScaleToPixelsAndCameraMatrix(SceneStructureProjective structure, SceneObservations observations)
    • undoScaleToPixelsAndCameraMatrix

      public void undoScaleToPixelsAndCameraMatrix(SceneStructureProjective structure, SceneObservations observations)
    • undoScale

      public void undoScale(SceneStructureMetric structure, SceneObservations observations)
      Undoes scale transform for metric.
      Parameters:
      structure - scene's structure
      observations - observations of the scene
    • undoScale

      public void undoScale(SceneStructureProjective structure, SceneObservations observations)
      Undoes scale transform for projective scenes
      Parameters:
      structure - scene's structure
      observations - observations of the scene
    • isScalePixelsUsingStats

      public boolean isScalePixelsUsingStats()
    • setScalePixelsUsingStats

      public void setScalePixelsUsingStats(boolean scalePixelsUsingStats)