Class GeneratePairwiseImageGraph


  • public class GeneratePairwiseImageGraph
    extends java.lang.Object
    Given a graph of images with similar appearance, create a graph in which images with a geometric relationship are connected to each other. Determine if that relationship has 3D geometry or is composed of a homography. If there is a geometric relationship or not is determined by the number of inliers. The minimum number is specified by minimumInliers. A threshold is used for classifying an edge as 3D or not ratio3D len(F)/len(H) a value of 1 just requires equality, greater than one means there must be more features from F (fundamental) than H (homography).
    • Field Summary

      Fields 
      Modifier and Type Field Description
      PairwiseImageGraph2 graph  
      int minimumInliers
      The minimum number of inliers for an edge to be accepted
      double ratio3D
      If number of matches from fundamental divided by homography is more than this then it is considered a 3D scene
    • Constructor Summary

      Constructors 
      Constructor Description
      GeneratePairwiseImageGraph()
      Configures and declares concensum matching algorithms
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void createEdge​(java.lang.String src, java.lang.String dst, org.ddogleg.struct.FastQueue<boofcv.struct.geo.AssociatedPair> pairs, org.ddogleg.struct.FastQueue<boofcv.struct.feature.AssociatedIndex> matches)
      Connects two views together if they meet a minimal set of geometric requirements.
      PairwiseImageGraph2 getGraph()  
      int getMinimumInliers()  
      double getRatio3D()  
      void process​(LookupSimilarImages db)
      Connects images by testing features for a geometric relationship.
      void setMinimumInliers​(int minimumInliers)  
      void setRatio3D​(double ratio3D)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • minimumInliers

        public int minimumInliers
        The minimum number of inliers for an edge to be accepted
      • ratio3D

        public double ratio3D
        If number of matches from fundamental divided by homography is more than this then it is considered a 3D scene
    • Constructor Detail

      • GeneratePairwiseImageGraph

        public GeneratePairwiseImageGraph()
        Configures and declares concensum matching algorithms
    • Method Detail

      • process

        public void process​(LookupSimilarImages db)
        Connects images by testing features for a geometric relationship. Retrieve the results using getGraph()
        Parameters:
        db - Images with feature associations
      • createEdge

        protected void createEdge​(java.lang.String src,
                                  java.lang.String dst,
                                  org.ddogleg.struct.FastQueue<boofcv.struct.geo.AssociatedPair> pairs,
                                  org.ddogleg.struct.FastQueue<boofcv.struct.feature.AssociatedIndex> matches)
        Connects two views together if they meet a minimal set of geometric requirements. Determines if there is strong evidence that there is 3D information present and not just a homography
        Parameters:
        src - ID of src image
        dst - ID of dst image
        pairs - Associated features pixels
        matches - Associated features feature indexes
      • getMinimumInliers

        public int getMinimumInliers()
      • setMinimumInliers

        public void setMinimumInliers​(int minimumInliers)
      • getRatio3D

        public double getRatio3D()
      • setRatio3D

        public void setRatio3D​(double ratio3D)