Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
IVT
src
Features
HarrisSIFTFeatures
HarrisSIFTFeatureCalculator.h
Go to the documentation of this file.
1
// ****************************************************************************
2
// This file is part of the Integrating Vision Toolkit (IVT).
3
//
4
// The IVT is maintained by the Karlsruhe Institute of Technology (KIT)
5
// (www.kit.edu) in cooperation with the company Keyetech (www.keyetech.de).
6
//
7
// Copyright (C) 2014 Karlsruhe Institute of Technology (KIT).
8
// All rights reserved.
9
//
10
// Redistribution and use in source and binary forms, with or without
11
// modification, are permitted provided that the following conditions are met:
12
//
13
// 1. Redistributions of source code must retain the above copyright
14
// notice, this list of conditions and the following disclaimer.
15
//
16
// 2. Redistributions in binary form must reproduce the above copyright
17
// notice, this list of conditions and the following disclaimer in the
18
// documentation and/or other materials provided with the distribution.
19
//
20
// 3. Neither the name of the KIT nor the names of its contributors may be
21
// used to endorse or promote products derived from this software
22
// without specific prior written permission.
23
//
24
// THIS SOFTWARE IS PROVIDED BY THE KIT AND CONTRIBUTORS “AS IS” AND ANY
25
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
26
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
27
// DISCLAIMED. IN NO EVENT SHALL THE KIT OR CONTRIBUTORS BE LIABLE FOR ANY
28
// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
29
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
30
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
31
// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
33
// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34
// ****************************************************************************
35
// ****************************************************************************
36
// Filename: HarrisSIFTFeatureCalculator.h
37
// Author: Pedram Azad
38
// Date: 20.11.2007
39
// ****************************************************************************
40
44
#ifndef _HARRIS_SIFT_FEATURE_CALCULATOR__H_
45
#define _HARRIS_SIFT_FEATURE_CALCULATOR__H_
46
47
48
// ****************************************************************************
49
// Necessary includes
50
// ****************************************************************************
51
52
#include "
Interfaces/FeatureCalculatorInterface.h
"
53
#include "
DataStructures/DynamicArrayTemplatePointer.h
"
54
55
56
// ****************************************************************************
57
// Forward declarations
58
// ****************************************************************************
59
60
class
CFeatureEntry
;
61
class
CByteImage
;
62
struct
Vec2d
;
63
64
65
66
// ****************************************************************************
67
// CHarrisSIFTFeatureCalculator
68
// ****************************************************************************
69
74
class
CHarrisSIFTFeatureCalculator
:
public
CFeatureCalculatorInterface
75
{
76
public
:
77
// constructor
78
CHarrisSIFTFeatureCalculator
(
float
fThreshold = 0.01f,
int
nLayers = 3,
int
nMaxInterestPoints = 500);
79
80
// destructor
81
~CHarrisSIFTFeatureCalculator
();
82
83
84
// public methods
85
int
CalculateFeatures
(
const
CByteImage
*pImage,
CDynamicArray
*pResultList,
bool
bManageMemory =
true
);
86
int
CalculateFeatures
(
const
CByteImage
*pImage,
CDynamicArrayTemplatePointer<CFeatureEntry>
&resultList);
87
CFeatureEntry
*
CreateCopy
(
const
CFeatureEntry
*pFeatureEntry);
88
89
// member access
90
void
SetMaxInterestPoints
(
int
nMaxInterestPoints) {
m_nMaxInterestPoints
= nMaxInterestPoints; }
91
void
SetThreshold
(
float
fThreshold) {
m_fThreshold
= fThreshold;}
92
void
SetMinDistance
(
float
fMinDistance) {
m_fMinDistance
= fMinDistance; }
93
void
SetNumberOfLevels
(
int
nLevels) {
m_nLevels
= nLevels; }
94
void
SetPerform80PercentCheck
(
bool
bPerform80PercentCheck) {
m_bPerform80PercentCheck
= bPerform80PercentCheck; }
95
96
int
GetMaxInterestPoints
() {
return
m_nMaxInterestPoints
; }
97
float
GetThreshold
() {
return
m_fThreshold
; }
98
float
GetMinDistance
() {
return
m_fMinDistance
; }
99
int
GetNumberOfLevels
() {
return
m_nLevels
; }
100
101
const
Vec2d
*
GetInterestPoints
()
const
{
return
m_pInterestPoints
; }
102
int
GetNumberOfInterestPoints
() {
return
m_nInterestPoints
; }
103
104
105
private
:
106
// private methods
107
void
FindInterestPoints
(
const
CByteImage
*pImage,
float
scale
,
int
nLevel);
108
109
// private attributes
110
int
m_nMaxInterestPoints
;
111
float
m_fThreshold
;
112
float
m_fMinDistance
;
113
int
m_nLevels
;
114
bool
m_bPerform80PercentCheck
;
115
116
CDynamicArray
*
m_pResultList
;
117
CDynamicArrayTemplatePointer<CFeatureEntry>
*
m_pResultListTemplate
;
118
bool
m_bTemplateList
;
119
bool
m_bManageMemory
;
// only needed if CDynamicArray is used
120
121
const
CByteImage
*
m_pImage
;
122
int
m_nInterestPoints
;
123
Vec2d
*
m_pInterestPoints
;
124
};
125
126
127
128
#endif
/* _HARRIS_SIFT_FEATURE_CALCULATOR__H_ */
CHarrisSIFTFeatureCalculator::GetMaxInterestPoints
int GetMaxInterestPoints()
Definition:
HarrisSIFTFeatureCalculator.h:96
CHarrisSIFTFeatureCalculator::m_pInterestPoints
Vec2d * m_pInterestPoints
Definition:
HarrisSIFTFeatureCalculator.h:123
CDynamicArrayTemplatePointer< CFeatureEntry >
CHarrisSIFTFeatureCalculator::m_pResultList
CDynamicArray * m_pResultList
Definition:
HarrisSIFTFeatureCalculator.h:116
CDynamicArray
Definition:
DynamicArray.h:78
scale
GLenum GLenum GLenum GLenum GLenum scale
Definition:
glext.h:5308
CFeatureEntry
Base class for the representation of local features.
Definition:
FeatureEntry.h:72
CHarrisSIFTFeatureCalculator::GetMinDistance
float GetMinDistance()
Definition:
HarrisSIFTFeatureCalculator.h:98
CHarrisSIFTFeatureCalculator::m_bPerform80PercentCheck
bool m_bPerform80PercentCheck
Definition:
HarrisSIFTFeatureCalculator.h:114
CByteImage
Data structure for the representation of 8-bit grayscale images and 24-bit RGB (or HSV) color images ...
Definition:
ByteImage.h:80
CHarrisSIFTFeatureCalculator::m_fThreshold
float m_fThreshold
Definition:
HarrisSIFTFeatureCalculator.h:111
CHarrisSIFTFeatureCalculator::SetMinDistance
void SetMinDistance(float fMinDistance)
Definition:
HarrisSIFTFeatureCalculator.h:92
CHarrisSIFTFeatureCalculator::m_bTemplateList
bool m_bTemplateList
Definition:
HarrisSIFTFeatureCalculator.h:118
CHarrisSIFTFeatureCalculator::GetNumberOfInterestPoints
int GetNumberOfInterestPoints()
Definition:
HarrisSIFTFeatureCalculator.h:102
CHarrisSIFTFeatureCalculator::CalculateFeatures
int CalculateFeatures(const CByteImage *pImage, CDynamicArray *pResultList, bool bManageMemory=true)
Definition:
HarrisSIFTFeatureCalculator.cpp:108
CHarrisSIFTFeatureCalculator::m_nMaxInterestPoints
int m_nMaxInterestPoints
Definition:
HarrisSIFTFeatureCalculator.h:110
CHarrisSIFTFeatureCalculator::SetMaxInterestPoints
void SetMaxInterestPoints(int nMaxInterestPoints)
Definition:
HarrisSIFTFeatureCalculator.h:90
CHarrisSIFTFeatureCalculator::FindInterestPoints
void FindInterestPoints(const CByteImage *pImage, float scale, int nLevel)
Definition:
HarrisSIFTFeatureCalculator.cpp:145
CHarrisSIFTFeatureCalculator::m_bManageMemory
bool m_bManageMemory
Definition:
HarrisSIFTFeatureCalculator.h:119
CHarrisSIFTFeatureCalculator::~CHarrisSIFTFeatureCalculator
~CHarrisSIFTFeatureCalculator()
Definition:
HarrisSIFTFeatureCalculator.cpp:93
CHarrisSIFTFeatureCalculator::m_fMinDistance
float m_fMinDistance
Definition:
HarrisSIFTFeatureCalculator.h:112
CHarrisSIFTFeatureCalculator::m_pImage
const CByteImage * m_pImage
Definition:
HarrisSIFTFeatureCalculator.h:121
CHarrisSIFTFeatureCalculator::SetNumberOfLevels
void SetNumberOfLevels(int nLevels)
Definition:
HarrisSIFTFeatureCalculator.h:93
CHarrisSIFTFeatureCalculator::SetThreshold
void SetThreshold(float fThreshold)
Definition:
HarrisSIFTFeatureCalculator.h:91
CHarrisSIFTFeatureCalculator::CreateCopy
CFeatureEntry * CreateCopy(const CFeatureEntry *pFeatureEntry)
Definition:
HarrisSIFTFeatureCalculator.cpp:103
CHarrisSIFTFeatureCalculator::m_pResultListTemplate
CDynamicArrayTemplatePointer< CFeatureEntry > * m_pResultListTemplate
Definition:
HarrisSIFTFeatureCalculator.h:117
CHarrisSIFTFeatureCalculator::m_nInterestPoints
int m_nInterestPoints
Definition:
HarrisSIFTFeatureCalculator.h:122
CHarrisSIFTFeatureCalculator::GetInterestPoints
const Vec2d * GetInterestPoints() const
Definition:
HarrisSIFTFeatureCalculator.h:101
CHarrisSIFTFeatureCalculator
Class for computing Harris-SIFT features in a CByteImage.
Definition:
HarrisSIFTFeatureCalculator.h:74
Vec2d
Data structure for the representation of a 2D vector.
Definition:
Math2d.h:82
CHarrisSIFTFeatureCalculator::GetNumberOfLevels
int GetNumberOfLevels()
Definition:
HarrisSIFTFeatureCalculator.h:99
FeatureCalculatorInterface.h
DynamicArrayTemplatePointer.h
CHarrisSIFTFeatureCalculator::SetPerform80PercentCheck
void SetPerform80PercentCheck(bool bPerform80PercentCheck)
Definition:
HarrisSIFTFeatureCalculator.h:94
CHarrisSIFTFeatureCalculator::m_nLevels
int m_nLevels
Definition:
HarrisSIFTFeatureCalculator.h:113
CHarrisSIFTFeatureCalculator::GetThreshold
float GetThreshold()
Definition:
HarrisSIFTFeatureCalculator.h:97
CHarrisSIFTFeatureCalculator::CHarrisSIFTFeatureCalculator
CHarrisSIFTFeatureCalculator(float fThreshold=0.01f, int nLayers=3, int nMaxInterestPoints=500)
Definition:
HarrisSIFTFeatureCalculator.cpp:71
CFeatureCalculatorInterface
Definition:
FeatureCalculatorInterface.h:61
asr_ivt
Author(s): Allgeyer Tobias, Hutmacher Robin, Kleinert Daniel, Meißner Pascal, Scholz Jonas, Stöckle Patrick
autogenerated on Mon Dec 2 2019 03:47:28