Class for computing SIFT features in a CByteImage. More...
#include <SIFTFeatureCalculator.h>

Public Member Functions | |
| int | CalculateFeatures (const CByteImage *pImage, CDynamicArray *pResultList, bool bManageMemory=true) |
| CSIFTFeatureCalculator (float fThreshold=0.05f, int nOctaves=3) | |
| int | GetNumberOfOctaves () |
| float | GetThreshold () |
| void | SetNumberOfOctaves (int nOctaves) |
| void | SetThreshold (float fThreshold) |
| ~CSIFTFeatureCalculator () | |
Static Public Member Functions | |
| static void | CreateSIFTDescriptors (const CFloatMatrix *pImage, CDynamicArray *pResultList, float x, float y, float scale, float sigma, const float *pOrientationWeights, bool bManageMemory=true, bool bPerform80PercentCheck=true) |
| static void | CreateSIFTDescriptors (const CByteImage *pImage, CDynamicArray *pResultList, float x, float y, float scale=1.0f, bool bManageMemory=true, bool bPerform80PercentCheck=true) |
| static void | CreateSIFTDescriptors (const CByteImage *pImage, CDynamicArrayTemplatePointer< CFeatureEntry > &resultList, float x, float y, float scale=1.0f, bool bPerform80PercentCheck=true) |
| static void | InitializeVariables () |
Private Member Functions | |
| void | FindScaleSpaceExtrema (const CFloatMatrix *pImage, float scale, int nOctave) |
Static Private Member Functions | |
| static void | DetermineDominatingOrientations (const CFloatMatrix *pAngleMatrix, const CFloatMatrix *pMagnitudeMatrix, CDynamicArrayTemplate< float > &orientations, bool bPerform80PercentCheck) |
Private Attributes | |
| bool | m_bManageMemory |
| float | m_fThreshold |
| int | m_nOctaves |
| CDynamicArray * | m_pResultList |
Static Private Attributes | |
| static float | diffk_ = sqrtf(k_ * k_ - 1) |
| static float | diffsigma0_ = SIGMA0 * SIGMA0 - prescaledsigma_ * prescaledsigma_ |
| static float | edgethreshold_ = (EDGE_THRESHOLD + 1) * (EDGE_THRESHOLD + 1) / EDGE_THRESHOLD |
| static float | k_ = powf(2.0f, 1.0f / S) |
| static int | m_bInitialized = false |
| static float | prescaledsigma_ = PRESIGMA * PRESCALE |
| static float | SIFTDescriptorWeights [256] |
| static float | SIFTDiffSigmas [MAX_SCALES] |
| static float * | SIFTGaussianFilters [MAX_SCALES] |
| static int | SIFTKernelRadius [MAX_SCALES] |
| static float | SIFTOrientationWeights [256 *(MAX_SCALES+1)] |
| static int | SIFTPointers [256] |
| static float | SIFTSigmas [MAX_SCALES] |
| static float | SIFTWeights [256] |
Class for computing SIFT features in a CByteImage.
Definition at line 81 of file SIFTFeatureCalculator.h.
| CSIFTFeatureCalculator::CSIFTFeatureCalculator | ( | float | fThreshold = 0.05f, |
| int | nOctaves = 3 |
||
| ) |
Definition at line 92 of file SIFTFeatureCalculator.cpp.
Definition at line 103 of file SIFTFeatureCalculator.cpp.
| int CSIFTFeatureCalculator::CalculateFeatures | ( | const CByteImage * | pImage, |
| CDynamicArray * | pResultList, | ||
| bool | bManageMemory = true |
||
| ) | [virtual] |
Implements CFeatureCalculatorInterface.
Definition at line 167 of file SIFTFeatureCalculator.cpp.
| void CSIFTFeatureCalculator::CreateSIFTDescriptors | ( | const CFloatMatrix * | pImage, |
| CDynamicArray * | pResultList, | ||
| float | x, | ||
| float | y, | ||
| float | scale, | ||
| float | sigma, | ||
| const float * | pOrientationWeights, | ||
| bool | bManageMemory = true, |
||
| bool | bPerform80PercentCheck = true |
||
| ) | [static] |
Definition at line 279 of file SIFTFeatureCalculator.cpp.
| void CSIFTFeatureCalculator::CreateSIFTDescriptors | ( | const CByteImage * | pImage, |
| CDynamicArray * | pResultList, | ||
| float | x, | ||
| float | y, | ||
| float | scale = 1.0f, |
||
| bool | bManageMemory = true, |
||
| bool | bPerform80PercentCheck = true |
||
| ) | [static] |
Definition at line 392 of file SIFTFeatureCalculator.cpp.
| void CSIFTFeatureCalculator::CreateSIFTDescriptors | ( | const CByteImage * | pImage, |
| CDynamicArrayTemplatePointer< CFeatureEntry > & | resultList, | ||
| float | x, | ||
| float | y, | ||
| float | scale = 1.0f, |
||
| bool | bPerform80PercentCheck = true |
||
| ) | [static] |
Definition at line 501 of file SIFTFeatureCalculator.cpp.
| void CSIFTFeatureCalculator::DetermineDominatingOrientations | ( | const CFloatMatrix * | pAngleMatrix, |
| const CFloatMatrix * | pMagnitudeMatrix, | ||
| CDynamicArrayTemplate< float > & | orientations, | ||
| bool | bPerform80PercentCheck | ||
| ) | [static, private] |
Definition at line 204 of file SIFTFeatureCalculator.cpp.
| void CSIFTFeatureCalculator::FindScaleSpaceExtrema | ( | const CFloatMatrix * | pImage, |
| float | scale, | ||
| int | nOctave | ||
| ) | [private] |
Definition at line 640 of file SIFTFeatureCalculator.cpp.
| int CSIFTFeatureCalculator::GetNumberOfOctaves | ( | ) | [inline] |
Definition at line 99 of file SIFTFeatureCalculator.h.
| float CSIFTFeatureCalculator::GetThreshold | ( | ) | [inline] |
Definition at line 98 of file SIFTFeatureCalculator.h.
| void CSIFTFeatureCalculator::InitializeVariables | ( | ) | [static] |
Definition at line 112 of file SIFTFeatureCalculator.cpp.
| void CSIFTFeatureCalculator::SetNumberOfOctaves | ( | int | nOctaves | ) | [inline] |
Definition at line 96 of file SIFTFeatureCalculator.h.
| void CSIFTFeatureCalculator::SetThreshold | ( | float | fThreshold | ) | [inline] |
Definition at line 95 of file SIFTFeatureCalculator.h.
float CSIFTFeatureCalculator::diffk_ = sqrtf(k_ * k_ - 1) [static, private] |
Definition at line 123 of file SIFTFeatureCalculator.h.
float CSIFTFeatureCalculator::diffsigma0_ = SIGMA0 * SIGMA0 - prescaledsigma_ * prescaledsigma_ [static, private] |
Definition at line 125 of file SIFTFeatureCalculator.h.
float CSIFTFeatureCalculator::edgethreshold_ = (EDGE_THRESHOLD + 1) * (EDGE_THRESHOLD + 1) / EDGE_THRESHOLD [static, private] |
Definition at line 121 of file SIFTFeatureCalculator.h.
float CSIFTFeatureCalculator::k_ = powf(2.0f, 1.0f / S) [static, private] |
Definition at line 122 of file SIFTFeatureCalculator.h.
int CSIFTFeatureCalculator::m_bInitialized = false [static, private] |
Definition at line 137 of file SIFTFeatureCalculator.h.
bool CSIFTFeatureCalculator::m_bManageMemory [private] |
Definition at line 118 of file SIFTFeatureCalculator.h.
float CSIFTFeatureCalculator::m_fThreshold [private] |
Definition at line 114 of file SIFTFeatureCalculator.h.
int CSIFTFeatureCalculator::m_nOctaves [private] |
Definition at line 115 of file SIFTFeatureCalculator.h.
Definition at line 117 of file SIFTFeatureCalculator.h.
float CSIFTFeatureCalculator::prescaledsigma_ = PRESIGMA * PRESCALE [static, private] |
Definition at line 124 of file SIFTFeatureCalculator.h.
float CSIFTFeatureCalculator::SIFTDescriptorWeights [static, private] |
Definition at line 130 of file SIFTFeatureCalculator.h.
float CSIFTFeatureCalculator::SIFTDiffSigmas [static, private] |
Definition at line 132 of file SIFTFeatureCalculator.h.
float* CSIFTFeatureCalculator::SIFTGaussianFilters[MAX_SCALES] [static, private] |
Definition at line 134 of file SIFTFeatureCalculator.h.
int CSIFTFeatureCalculator::SIFTKernelRadius [static, private] |
Definition at line 135 of file SIFTFeatureCalculator.h.
float CSIFTFeatureCalculator::SIFTOrientationWeights [static, private] |
Definition at line 129 of file SIFTFeatureCalculator.h.
int CSIFTFeatureCalculator::SIFTPointers [static, private] |
Definition at line 127 of file SIFTFeatureCalculator.h.
float CSIFTFeatureCalculator::SIFTSigmas [static, private] |
Definition at line 133 of file SIFTFeatureCalculator.h.
float CSIFTFeatureCalculator::SIFTWeights [static, private] |
Definition at line 128 of file SIFTFeatureCalculator.h.