Class VisOdomPixelDepthPnP_to_DepthVisualOdometry<Vis extends boofcv.struct.image.ImageBase<Vis>,​Depth extends boofcv.struct.image.ImageGray<Depth>>

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.List<georegression.struct.point.Point2D_F64> getAllTracks​(java.util.List<georegression.struct.point.Point2D_F64> storage)
      All the points being actively tracked in pixel coordinates.
      georegression.struct.se.Se3_F64 getCameraToWorld()
      Returns the estimated motion relative to the first frame in which a fatal error does not happen.
      java.lang.Class<Depth> getDepthType()
      Type of depth images it can process.
      long getFrameID()
      Returns the ID of the most recently processed frame.
      int getTotalTracks()
      Returns the total number of tracks
      long getTrackId​(int index)
      Used to get the track ID of an active Track
      void getTrackPixel​(int index, georegression.struct.point.Point2D_F64 pixel)
      Gets the observed coordinate of a feature in the input image.
      boolean getTrackWorld3D​(int index, georegression.struct.point.Point3D_F64 world)
      Returns the 3D location of the active track.
      boofcv.struct.image.ImageType<Vis> getVisualType()
      Type of visual images it can process.
      boolean isFault()
      If a fatal error occurred while updating its state then this function will return true.
      boolean isTrackInlier​(int index)
      True if the specified track is an inlier used in motion estimation
      boolean isTrackNew​(int index)
      True if the specified track was just spawned
      boolean process​(Vis visual, Depth depth)
      Process the new image and update the motion estimate.
      void reset()
      Forget past history and tracking results, returning it to its initial state.
      void setCalibration​(boofcv.struct.calib.CameraPinholeBrown paramVisual, boofcv.struct.distort.Point2Transform2_F32 visToDepth)
      Specifies the intrinsic parameters for the visual camera and the transform from visual to depth pixels.
      void setVerbose​(java.io.PrintStream out, java.util.Set<java.lang.String> configuration)  
      • Methods inherited from class java.lang.Object

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

      • VisOdomPixelDepthPnP_to_DepthVisualOdometry

        public VisOdomPixelDepthPnP_to_DepthVisualOdometry​(DepthSparse3D<Depth> sparse3D,
                                                           VisOdomMonoDepthPnP<Vis> alg,
                                                           boofcv.alg.geo.DistanceFromModelMultiView<georegression.struct.se.Se3_F64,​boofcv.struct.geo.Point2D3D> distance,
                                                           boofcv.struct.image.ImageType<Vis> visualType,
                                                           java.lang.Class<Depth> depthType)
    • Method Detail

      • getTrackWorld3D

        public boolean getTrackWorld3D​(int index,
                                       georegression.struct.point.Point3D_F64 world)
        Description copied from interface: AccessPointTracks3D
        Returns the 3D location of the active track.
        Specified by:
        getTrackWorld3D in interface AccessPointTracks3D
        Parameters:
        index - The track's index in the active list
        world - The world coordinate of the track
        Returns:
        true if there's a location estimate or false if there isn't
      • getTrackId

        public long getTrackId​(int index)
        Description copied from interface: AccessPointTracks
        Used to get the track ID of an active Track
        Specified by:
        getTrackId in interface AccessPointTracks
        Parameters:
        index - which track
        Returns:
        The track's ID
      • getTrackPixel

        public void getTrackPixel​(int index,
                                  georegression.struct.point.Point2D_F64 pixel)
        Description copied from interface: AccessPointTracks
        Gets the observed coordinate of a feature in the input image.
        Specified by:
        getTrackPixel in interface AccessPointTracks
        Parameters:
        index - Which point in the list
        pixel - Where the coordinate will be writen to.
      • getAllTracks

        public java.util.List<georegression.struct.point.Point2D_F64> getAllTracks​(@Nullable
                                                                                   java.util.List<georegression.struct.point.Point2D_F64> storage)
        Description copied from interface: AccessPointTracks
        All the points being actively tracked in pixel coordinates.
        Specified by:
        getAllTracks in interface AccessPointTracks
        Returns:
        all active tracks in pixel coordinates
      • isTrackInlier

        public boolean isTrackInlier​(int index)
        Description copied from interface: AccessPointTracks
        True if the specified track is an inlier used in motion estimation
        Specified by:
        isTrackInlier in interface AccessPointTracks
        Parameters:
        index - The index in all
        Returns:
        if it is an inlier or not
      • isTrackNew

        public boolean isTrackNew​(int index)
        Description copied from interface: AccessPointTracks
        True if the specified track was just spawned
        Specified by:
        isTrackNew in interface AccessPointTracks
        Parameters:
        index - The index in all
        Returns:
        if it is new or not
      • setCalibration

        public void setCalibration​(boofcv.struct.calib.CameraPinholeBrown paramVisual,
                                   boofcv.struct.distort.Point2Transform2_F32 visToDepth)
        Description copied from interface: DepthVisualOdometry
        Specifies the intrinsic parameters for the visual camera and the transform from visual to depth pixels.
        Specified by:
        setCalibration in interface DepthVisualOdometry<Vis extends boofcv.struct.image.ImageBase<Vis>,​Depth extends boofcv.struct.image.ImageGray<Depth>>
        Parameters:
        paramVisual - Intrinsic parameters for visual camera
        visToDepth - Transform from visual camera pixels into depth camera pixels
      • process

        public boolean process​(Vis visual,
                               Depth depth)
        Description copied from interface: DepthVisualOdometry
        Process the new image and update the motion estimate. The return value must be checked to see if the estimate was actually updated. If false is returned then VisualOdometry.isFault() also needs to be checked to see if the pose estimate has been reset.
        Specified by:
        process in interface DepthVisualOdometry<Vis extends boofcv.struct.image.ImageBase<Vis>,​Depth extends boofcv.struct.image.ImageGray<Depth>>
        Parameters:
        visual - Image from visual camera
        depth - Image from depth sensor
        Returns:
        true if the motion estimate has been updated and false if not
      • reset

        public void reset()
        Description copied from interface: VisualOdometry
        Forget past history and tracking results, returning it to its initial state.
        Specified by:
        reset in interface VisualOdometry<Vis extends boofcv.struct.image.ImageBase<Vis>>
      • isFault

        public boolean isFault()
        Description copied from interface: VisualOdometry
        If a fatal error occurred while updating its state then this function will return true. Before more images can be processed VisualOdometry.reset() must be called. Only needs to be called if process returns false.
        Specified by:
        isFault in interface VisualOdometry<Vis extends boofcv.struct.image.ImageBase<Vis>>
        Returns:
        true if a fatal error has occurred.
      • getCameraToWorld

        public georegression.struct.se.Se3_F64 getCameraToWorld()
        Description copied from interface: VisualOdometry
        Returns the estimated motion relative to the first frame in which a fatal error does not happen.
        Specified by:
        getCameraToWorld in interface VisualOdometry<Vis extends boofcv.struct.image.ImageBase<Vis>>
        Returns:
        Found pose.
      • getFrameID

        public long getFrameID()
        Description copied from interface: VisualOdometry
        Returns the ID of the most recently processed frame. Starts at zero and increments with each call to process.
        Specified by:
        getFrameID in interface VisualOdometry<Vis extends boofcv.struct.image.ImageBase<Vis>>
      • getVisualType

        public boofcv.struct.image.ImageType<Vis> getVisualType()
        Description copied from interface: DepthVisualOdometry
        Type of visual images it can process.
        Specified by:
        getVisualType in interface DepthVisualOdometry<Vis extends boofcv.struct.image.ImageBase<Vis>,​Depth extends boofcv.struct.image.ImageGray<Depth>>
        Returns:
        The image type
      • setVerbose

        public void setVerbose​(@Nullable
                               java.io.PrintStream out,
                               @Nullable
                               java.util.Set<java.lang.String> configuration)
        Specified by:
        setVerbose in interface org.ddogleg.struct.VerbosePrint