Visual Servoing Platform version 3.7.0
Loading...
Searching...
No Matches
vpTemplateTrackerMIESM.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 * Description:
31 * Example of template tracking.
32 *
33 * Authors:
34 * Amaury Dame
35 * Aurelien Yol
36 */
37#ifndef vpTemplateTrackerMIESM_hh
38#define vpTemplateTrackerMIESM_hh
39
40#include <visp3/core/vpConfig.h>
41#include <visp3/core/vpImageFilter.h>
42#include <visp3/tt/vpTemplateTracker.h>
43#include <visp3/tt/vpTemplateTrackerHeader.h>
44
45#include <visp3/tt_mi/vpTemplateTrackerMI.h>
46#include <visp3/tt_mi/vpTemplateTrackerMIBSpline.h>
47
61{
62public:
64 typedef enum
65 {
66 USE_NEWTON, // not used
67 USE_LMA, // not used
69 USE_QUASINEWTON // not used => see default equivalence
70 } vpMinimizationTypeMIESM;
71
72protected:
81
82protected:
83 void initCompInverse();
86
87 // private:
88 //#ifndef DOXYGEN_SHOULD_SKIP_THIS
89 // vpTemplateTrackerMIESM(const vpTemplateTrackerMIESM &)
90 // : vpTemplateTrackerMI(), minimizationMethod(USE_NEWTON),
91 // CompoInitialised(false),
92 // HDirect(), HInverse(), HdesireDirect(), HdesireInverse(), GDirect(),
93 // GInverse()
94 // {
95 // throw vpException(vpException::functionNotImplementedError, "Not
96 // implemented!");
97 // }
98 // vpTemplateTrackerMIESM &operator=(const vpTemplateTrackerMIESM &){
99 // throw vpException(vpException::functionNotImplementedError, "Not
100 // implemented!"); return *this;
101 // }
102 //#endif
103
104#if (VISP_CXX_STANDARD >= VISP_CXX_STANDARD_11)
105 vpTemplateTrackerMIESM(const vpTemplateTrackerMIESM &) = delete; // non construction-copyable
106 vpTemplateTrackerMIESM &operator=(const vpTemplateTrackerMIESM &) = delete; // non copyable
107#endif
108
109public:
116
118};
119END_VISP_NAMESPACE
120#endif
Implementation of column vector and the associated operations.
Definition of the vpImage class member functions.
Definition vpImage.h:131
Implementation of a matrix and operations on matrices.
Definition vpMatrix.h:175
vpTemplateTrackerMIESM & operator=(const vpTemplateTrackerMIESM &)=delete
vpMinimizationTypeMIESM minimizationMethod
vpTemplateTrackerMIESM(const vpTemplateTrackerMIESM &)=delete
vpTemplateTrackerMIESM()
Default constructor.
void setMinimizationMethod(vpMinimizationTypeMIESM method)
vpTemplateTrackerMI(const vpTemplateTrackerMI &)=delete
virtual void trackNoPyr(const vpImage< unsigned char > &I)=0
virtual void initHessienDesired(const vpImage< unsigned char > &I)=0