ImFusion C++ SDK 4.4.0
Computer Vision Plugin

Plugin for computer vision functionality. More...

Collaboration diagram for Computer Vision Plugin:

Detailed Description

Plugin for computer vision functionality.

The ImFusionVision plugin offers a comprehensive set of 2D and 3D computer vision algorithms including feature and marker detection, single and stereo camera calibration, optical flow and stereo computation and much more. It combines traditional techniques with modern algorithms powered by state-of-the-art machine learning models.

Topics

 ICP and Mesh Alignment
 Comprehensive guide to point cloud and mesh alignment using ICP and MeshAlignmentAlgorithm.
 Marker Detection
 Comprehensive guide to marker detection.
 Monocular Depth Estimation
 Guide to monocular depth estimation from single RGB images.
 Optical Flow
 Guide to optical flow estimation from RGB image sequences.
 Stereo Reconstruction
 Guide to 3D reconstruction from a sequence of stereo images using the StereoReconstructionAlgorithm class.
 Camera Calibration
 Comprehensive guide to Camera Calibration.
 Stereo Structure
 Comprehensive guide to Stereo Image.

Classes

class  ImFusion::CameraCalibrationDataComponent
 A data component storing mainly the intrinsic calibration of a pinhole camera Information such as image size, extrinsic poses and distortions are also stored Debug values like MRE and standard deviations estimated for intrinsic parameters, which are used for evaluating the calibration results during the calibration process are also saved here. More...
class  ImFusion::CreateStereoSharedImageSetAlgorithm
 The algorithm creates a stereo shared image set from two shared image sets The algorithm take over the ownership of the input two image sets It is recommended to first run this algorithm to convert the two image sets into a stereo image set before using any stereo-related algorithm. More...
class  ImFusion::HandEyeCalibrationAlgorithm
 Performs hand-eye calibration between two tracking sequences. More...
class  ImFusion::ImageSharpnessEstimationAlgorithm
 Algorithm for esimating sharpness of the image (based on paper "The Blur Effect: Perception and Estimation with a New No-Reference Perceptual Blur Metric"). More...
class  ImFusion::InterlacedToStereoAlgorithm
 This algorithm converts a interlaced image into two shared image sets or a stereo image set Input image should have even number of lines. More...
class  ImFusion::LeastSquaresPoseGraphSolution
 Pose graph optimization with Least Squares solution based on g2o's implementation The first pose is the reference pose and will stay fixed, all other poses are free to change. More...
class  ImFusion::MotionAveragingPoseGraphSolution
 Pose graph optimization with motion averaging, this is to be utilized in MAICP The first pose is the reference pose and will stay fixed, all other poses are free to change. More...
class  ImFusion::PoseGraphOptimization
 Pose graph optimization The first pose is the reference pose and will stay fixed, all other poses are free to change. More...
class  ImFusion::SideBySideToStereoAlgorithm
 This Algorithm converts a side-by-side images set to a Stereo Image Set. More...
class  ImFusion::StereoCalibrationDataComponent
 A data component storing the registration matrix between the left and right camera of a stereo camera pair. More...
class  ImFusion::StereoImage
 This class stores a pair of images, taken by a stereo camera at the same time point. More...
class  ImFusion::StereoImageExtractSelection
 Algorithm to extract the current StereoSharedImageSet selection into a new object instance. More...
class  ImFusion::StereoImageReduceToSelection
 Algorithm for reducing a StereoSharedImageSet to its selected samples. More...
class  ImFusion::StereoSharedImageSet
 This class is the main high-level container for stereo image data set. More...
class  ImFusion::CameraCalibrationAlgorithm
 Camera calibration algorithm Description: More...
class  ImFusion::CameraCalibrationSettings
 The class stores all parameters/settings for camera calibration. More...
class  ImFusion::CameraRegistrationAlgorithm
 Camera registration algorithm Description: This algorithm performs camera registration for a stereo camera system using known fiducial markers (e.g., chessboard or a ChArUco board) to estimate the relative pose between the left and right cameras. More...
class  ImFusion::ORBFeatureDetector
 Implementation of the ORB feature detection and description algorithm. More...
class  ImFusion::SIFTFeatureDetector
 Implementation of the SIFT feature detection and description algorithm. More...
class  ImFusion::ShiTomasiFeatureDetector
 Implementation of the Shi-Tomasi corner detection algorithm. More...
class  ImFusion::IdentitySampler
 Identity sampler, returns input keypoints unchanged. More...
class  ImFusion::NMSSampler
 Non-Maximum Suppression sampler. More...
class  ImFusion::BruteForceMatcher
 Brute-force matcher for feature descriptors. More...
class  ImFusion::GridBasedMatcher
 Grid-based matcher for feature descriptors. More...
class  ImFusion::IdentityMatchPruner
 Identity match pruner, returns input matches unchanged. More...
class  ImFusion::HomographyMatchPruner
 Pruner using homography inlier threshold. More...
class  ImFusion::FundamentalMatrixMatchPruner
 Pruner using fundamental matrix inlier threshold. More...
class  ImFusion::AutomaticMatchPruner
 Automatic pruner selecting between homography and fundamental matrix based on decomposition score. More...
class  ImFusion::MatchScorePruner
 Pruner based on match score and/or maximum number of matches. More...
class  ImFusion::GMSPruner
 Pruner applying motion smoothness as a criterion (GMS). More...
class  ImFusion::FeatureDetectionAlgorithm
 Feature detection algorithm. More...
class  ImFusion::HomographyAndFundamentalMatrixDecomposition
 This class, given point correspondences from two images, estimates the homography and the fundamental matrix, then, depending on the score, decomposes one of them into rotation and translation. More...
class  ImFusion::ImageUndistortion
 This class enables the undistortion of images, i.e. More...
class  ImFusion::ImageUndistortionAlgorithm
 Algorithm for undistoring images, intrinsics and distortion parameters are retrieved from CameraCalibrationDataComponent, if not then user defined ones are used. More...
class  ImFusion::MarkerConfiguration
 Describes the configuration of a marker calibration target. More...
class  ImFusion::MarkerDetection
 Generic marker detection class for a wide range of marker types, such as Aruco, Charuco, Chessboard, Circle Board, AprilTag and STag. More...
class  ImFusion::MarkerDetectionAlgorithm
 Marker detection algorithm. More...
class  ImFusion::MarkerGenerationAlgorithm
 Algorithm for creating calibration markers. More...
class  ImFusion::MarkerHandEyeCalibrationAlgorithm
 Performs hand eye calibration of a sensor that provides tracking information (called "tracker") to a camera that captured images of a marker board (called "camera"). More...
class  ImFusion::OpticalFlow
 Base class for optical flow algorithms producing flow maps (2-channel floating point images). More...
class  ImFusion::OpticalFlowFactory
class  ImFusion::Vision::OpticalFlowAlgorithm
class  ImFusion::StereoReconstruction
 Base class for stereo reconstruction algorithms producing disparity maps. More...
class  ImFusion::StereoBlockMatchingReconstruction
 Implementation of block matching stereo reconstruction It depends on block matching from OpenCV. More...
class  ImFusion::StereoSemiGlobalBlockMatchingReconstruction
 Implementation of Semi Global block matching stereo reconstruction It depends on Semi Global block matching from OpenCV. More...
class  ImFusion::StereoReconstructionAlgorithm
 This algorithm performs 3D reconstruction from a pair of stereo images. More...
class  ImFusion::StereoRectification
 Performs stereo rectification und unrectification on images. More...
class  ImFusion::StereoRectificationAlgorithm
 Stereo Rectification Algorithm. More...
class  ImFusion::GlobalICP
 Global ICP point cloud alignment. More...
class  ImFusion::ICP
 ICP-based point cloud alignment. More...
class  ImFusion::PointCloudFilteringAlgorithm
 Implements a flexible and extensible algorithm for filtering and processing point clouds. More...
class  ImFusion::PointCloudOverlapAlgorithm
 Computes the geometric overlap between multiple dense, calibrated point clouds. More...
class  ImFusion::PoseGraphOptimizationAlgorithm
 Pose graph optimization using motion-averaging or graph-based least squares solver. More...
class  ImFusion::MeshAlignmentAlgorithm
 Algorithm for aligning meshes and point clouds. More...
class  ImFusion::MonocularDepthEstimation
 Base class for monocular depth estimation algorithms producing depth maps and (optionally) also point clouds. More...
class  ImFusion::MonocularDepthEstimationAlgorithm
 Algorithm for estimating relative depth from a single RGB image. More...
class  ImFusion::MonocularDepthEstimationCustomModel
 Performs depth estimation on a monocular image using a traced machine learning model provided by the user. More...
class  ImFusion::OpticalFlowRAFT
class  ImFusion::OpticalFlowSEARAFT
class  ImFusion::OpticalFlowCustomModel
 Performs optical flow estimation using a traced machine learning model provided by the user. More...
class  ImFusion::RIDEFeatureDetector
 Implementation of "RIDE: Self-Supervised Learning of Rotation-Equivariant Keypoint Detection and Invariant Description for Endoscopy" published at ICRA 2024: https://ieeexplore.ieee.org/abstract/document/10611381. More...
class  ImFusion::StereoCGIReconstruction
class  ImFusion::StereoReconstructionRAFT
class  ImFusion::StereoReconstructionCustomModel
 Performs stereo reconstruction using a traced machine learning model provided by the user. More...
class  ImFusion::LiveHandEyeCalibrationAlgorithm
 Takes two tracking streams, and allows to sample frames and to compute the calibration from them The expected input is a stream containing the transforms from base to hand (i.e. More...
class  ImFusion::LiveHandEyeEvaluationAlgorithm
 Takes two tracking streams and the respective calibration, and computes the chain error. More...
class  ImFusion::CameraCalibrationSetterAlgorithm
 The algorithm loads an existing calibration onto a given image set or image stream. More...
class  ImFusion::CreateGroupedStereoImageStreamAlgorithm
 The algorithm creates a GroupedStereoImageStream from two image streams and takes over their control Before using any stereo-related algorithms (e.g., depth estimation, disparity calculation, or 3D reconstruction), it is recommended to first run this algorithm to convert the two image streams into a stereo image stream. More...
class  ImFusion::GroupedStereoImageStream
 GroupedStereoImageStream simultaneously owns and controls its stereo sub-streams. More...
class  ImFusion::PlaybackStereoImageStream
 StereoImage-based stream created from the playback of a stereo image set. More...
class  ImFusion::PlaybackStereoImageStreamAlgorithm
 Creates PlaybackStereoImageStream from one StereoSharedImageSet For more details please refer to PlaybackStereoImageStream. More...
class  ImFusion::PlaybackStereoImageStreamController
 Controller for replaying stereo shared image sets. More...
class  ImFusion::SideBySideToStereoStreamAlgorithm
 This class convert a stream with side-by-side image into a stereo image stream. More...
class  ImFusion::StereoCalibrationSetterAlgorithm
 The algorithm loads an existing calibration onto a given stereo image set or stereo image stream. More...
class  ImFusion::StereoImageStream
 Base class for streams based on stereo images. More...
class  ImFusion::StereoImageStreamData
 Stereo Image data streamed from a stereo camera. More...
class  ImFusion::InterlacedToStereoStreamAlgorithm
 This class convert a stream with interlaced image into a stereo image stream Input image should have even number of lines. More...
class  ImFusion::LiveStereoCalibrationAlgorithm
 Takes two image streams, and allows to sample frames and to compute the calibration from them Both streams have to see the same calibration board The output is the intrinsic calibration for each camera, transformation between the cameras and the deformation fields for stereo rectification Another variant of the algorithm takes image samples as an input. More...
class  ImFusion::LiveTrackingAlgorithm
 Live tracking algorithm for image based pose detectors Use the Configurable interface for setting up the detector. More...
class  ImFusion::StereoStreamToVideoRecorder
 Records stereo image streams to two video files The algorithm internally uses VideoFileRecorder to save videos. More...
class  ImFusion::StereoStreamToVideoAlgorithm
 Algorithm to record stereo image streams to video files The algorithm internally uses VideoFileRecorder to save videos. More...
Search Tab / S to search, Esc to close