Visual Servoing Platform version 3.7.0
Loading...
Searching...
No Matches
vpRBVisualOdometryUtils.h
1/*
2 * ViSP, open source Visual Servoing Platform software.
3 * Copyright (C) 2005 - 2025 by Inria. All rights reserved.
4 *
5 * This software is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 * See the file LICENSE.txt at the root directory of this source
10 * distribution for additional information about the GNU GPL.
11 *
12 * For using ViSP with software that can not be combined with the GNU
13 * GPL, please contact Inria about acquiring a ViSP Professional
14 * Edition License.
15 *
16 * See https://visp.inria.fr for more information.
17 *
18 * This software was developed at:
19 * Inria Rennes - Bretagne Atlantique
20 * Campus Universitaire de Beaulieu
21 * 35042 Rennes Cedex
22 * France
23 *
24 * If you have questions regarding the use of this file, please contact
25 * Inria at visp@inria.fr
26 *
27 * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
28 * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
29 */
30
31#ifndef VP_RB_VISUAL_ODOMETRY_UTILS_H
32#define VP_RB_VISUAL_ODOMETRY_UTILS_H
33
34#include <visp3/core/vpConfig.h>
35#include <vector>
36
38
40class vpMatrix;
42
52
63class VISP_EXPORT vpRBVisualOdometryUtils
64{
65
66public:
80 static std::pair<std::vector<unsigned int>, std::vector<unsigned int>> computeIndicesObjectAndEnvironment(
81 const vpMatrix &keypoints, const vpRBFeatureTrackerInput &frame, double minMaskConfidence, double minEdgeDistObject, double minEdgeDistEnv);
82
83 static void levenbergMarquardtKeypoints2D(const vpMatrix &points3d, const vpMatrix &observations, const vpLevenbergMarquardtParameters &parameters, vpHomogeneousMatrix &cTw);
84 static void levenbergMarquardtKeypoints3D(const vpMatrix &points3d, const vpMatrix &observations, const vpLevenbergMarquardtParameters &parameters, vpHomogeneousMatrix &cTw);
85
86};
87
88END_VISP_NAMESPACE
89
90#endif
Implementation of an homogeneous matrix and operations on such kind of matrices.
Implementation of a matrix and operations on matrices.
Definition vpMatrix.h:175
All the data related to a single tracking frame. This contains both the input data (from a real camer...
static void levenbergMarquardtKeypoints2D(const vpMatrix &points3d, const vpMatrix &observations, const vpLevenbergMarquardtParameters &parameters, vpHomogeneousMatrix &cTw)
static std::pair< std::vector< unsigned int >, std::vector< unsigned int > > computeIndicesObjectAndEnvironment(const vpMatrix &keypoints, const vpRBFeatureTrackerInput &frame, double minMaskConfidence, double minEdgeDistObject, double minEdgeDistEnv)
Compute the indices of the keypoints that belong to either the object (the renderered depth is greate...
static void levenbergMarquardtKeypoints3D(const vpMatrix &points3d, const vpMatrix &observations, const vpLevenbergMarquardtParameters &parameters, vpHomogeneousMatrix &cTw)