Visual Servoing Platform
version 3.3.0
vpTemplateTrackerMIESM.h
1
/****************************************************************************
2
*
3
* ViSP, open source Visual Servoing Platform software.
4
* Copyright (C) 2005 - 2019 by Inria. All rights reserved.
5
*
6
* This software is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation; either version 2 of the License, or
9
* (at your option) any later version.
10
* See the file LICENSE.txt at the root directory of this source
11
* distribution for additional information about the GNU GPL.
12
*
13
* For using ViSP with software that can not be combined with the GNU
14
* GPL, please contact Inria about acquiring a ViSP Professional
15
* Edition License.
16
*
17
* See http://visp.inria.fr for more information.
18
*
19
* This software was developed at:
20
* Inria Rennes - Bretagne Atlantique
21
* Campus Universitaire de Beaulieu
22
* 35042 Rennes Cedex
23
* France
24
*
25
* If you have questions regarding the use of this file, please contact
26
* Inria at visp@inria.fr
27
*
28
* This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
29
* WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
30
*
31
* Description:
32
* Example of template tracking.
33
*
34
* Authors:
35
* Amaury Dame
36
* Aurelien Yol
37
* Fabien Spindler
38
*
39
*****************************************************************************/
40
#ifndef vpTemplateTrackerMIESM_hh
41
#define vpTemplateTrackerMIESM_hh
42
43
#include <visp3/core/vpImageFilter.h>
44
#include <visp3/tt/vpTemplateTracker.h>
45
#include <visp3/tt/vpTemplateTrackerHeader.h>
46
47
#include <visp3/tt_mi/vpTemplateTrackerMI.h>
48
#include <visp3/tt_mi/vpTemplateTrackerMIBSpline.h>
49
54
class
VISP_EXPORT
vpTemplateTrackerMIESM
:
public
vpTemplateTrackerMI
55
{
57
typedef
enum
{
58
USE_NEWTON,
// not used
59
USE_LMA,
// not used
60
USE_GRADIENT,
61
USE_QUASINEWTON
// not used => see default equivalence
62
} vpMinimizationTypeMIESM;
63
64
protected
:
65
vpMinimizationTypeMIESM
minimizationMethod
;
66
bool
CompoInitialised
;
67
vpMatrix
HDirect
;
68
vpMatrix
HInverse
;
69
vpMatrix
HdesireDirect
;
70
vpMatrix
HdesireInverse
;
71
vpColVector
GDirect
;
72
vpColVector
GInverse
;
73
74
protected
:
75
void
initCompInverse();
76
void
initHessienDesired
(
const
vpImage<unsigned char>
&I);
77
void
trackNoPyr
(
const
vpImage<unsigned char>
&I);
78
79
// private:
80
//#ifndef DOXYGEN_SHOULD_SKIP_THIS
81
// vpTemplateTrackerMIESM(const vpTemplateTrackerMIESM &)
82
// : vpTemplateTrackerMI(), minimizationMethod(USE_NEWTON),
83
// CompoInitialised(false),
84
// HDirect(), HInverse(), HdesireDirect(), HdesireInverse(), GDirect(),
85
// GInverse()
86
// {
87
// throw vpException(vpException::functionNotImplementedError, "Not
88
// implemented!");
89
// }
90
// vpTemplateTrackerMIESM &operator=(const vpTemplateTrackerMIESM &){
91
// throw vpException(vpException::functionNotImplementedError, "Not
92
// implemented!"); return *this;
93
// }
94
//#endif
95
96
public
:
98
vpTemplateTrackerMIESM
()
99
:
vpTemplateTrackerMI
(), minimizationMethod(USE_NEWTON), CompoInitialised(false), HDirect(), HInverse(),
100
HdesireDirect(), HdesireInverse(), GDirect(), GInverse()
101
{
102
}
103
explicit
vpTemplateTrackerMIESM
(
vpTemplateTrackerWarp
*_warp);
104
105
void
setMinimizationMethod
(vpMinimizationTypeMIESM method) { minimizationMethod = method; }
106
};
107
108
#endif
vpTemplateTrackerMIESM::HInverse
vpMatrix HInverse
Definition:
vpTemplateTrackerMIESM.h:68
vpTemplateTrackerWarp
Definition:
vpTemplateTrackerWarp.h:58
vpTemplateTrackerMI::trackNoPyr
virtual void trackNoPyr(const vpImage< unsigned char > &I)=0
vpTemplateTrackerMIESM::GInverse
vpColVector GInverse
Definition:
vpTemplateTrackerMIESM.h:72
vpTemplateTrackerMIESM::minimizationMethod
vpMinimizationTypeMIESM minimizationMethod
Definition:
vpTemplateTrackerMIESM.h:65
vpTemplateTrackerMIESM::HdesireDirect
vpMatrix HdesireDirect
Definition:
vpTemplateTrackerMIESM.h:69
vpTemplateTrackerMI
Definition:
vpTemplateTrackerMI.h:53
vpColVector
Implementation of column vector and the associated operations.
Definition:
vpColVector.h:130
vpTemplateTrackerMI::initHessienDesired
virtual void initHessienDesired(const vpImage< unsigned char > &I)=0
vpMatrix
Implementation of a matrix and operations on matrices.
Definition:
vpMatrix.h:164
vpTemplateTrackerMIESM::GDirect
vpColVector GDirect
Definition:
vpTemplateTrackerMIESM.h:71
vpTemplateTrackerMIESM::CompoInitialised
bool CompoInitialised
Definition:
vpTemplateTrackerMIESM.h:66
vpTemplateTrackerMIESM
Definition:
vpTemplateTrackerMIESM.h:54
vpTemplateTrackerMIESM::setMinimizationMethod
void setMinimizationMethod(vpMinimizationTypeMIESM method)
Definition:
vpTemplateTrackerMIESM.h:105
vpTemplateTrackerMIESM::vpTemplateTrackerMIESM
vpTemplateTrackerMIESM()
Default constructor.
Definition:
vpTemplateTrackerMIESM.h:98
vpTemplateTrackerMIESM::HdesireInverse
vpMatrix HdesireInverse
Definition:
vpTemplateTrackerMIESM.h:70
vpTemplateTrackerMIESM::HDirect
vpMatrix HDirect
Definition:
vpTemplateTrackerMIESM.h:67
vpImage< unsigned char >
modules
tracker
tt_mi
include
visp3
tt_mi
vpTemplateTrackerMIESM.h
Generated by
1.8.17