34 #ifndef GDALSIMPLESURF_H_ 35 #define GDALSIMPLESURF_H_ 37 #include "gdal_priv.h" 93 static const int DESC_SIZE = 64;
174 double *padfDescriptor;
199 void Initialize(
const double **padfImg,
int nHeight,
int nWidth);
209 double GetValue(
int nRow,
int nCol);
222 double GetRectangleSum(
int nRow,
int nCol,
int nWidth,
int nHeight);
233 double HaarWavelet_X(
int nRow,
int nCol,
int nSize);
244 double HaarWavelet_Y(
int nRow,
int nCol,
int nSize);
389 static const int INTERVALS = 4;
420 class MatchedPointPairInfo
423 MatchedPointPairInfo(
int nInd_1,
int nInd_2,
double dfDist)
427 euclideanDist = dfDist;
432 double euclideanDist;
476 static CPLErr ConvertRGBToLuminosity(
480 int nXSize,
int nYSize,
481 double **padfImg,
int nHeight,
int nWidth);
497 std::vector<GDALFeaturePoint>*
512 static CPLErr MatchFeaturePoints(
513 std::vector<GDALFeaturePoint*> *poMatchPairs,
514 std::vector<GDALFeaturePoint> *poFirstCollect,
515 std::vector<GDALFeaturePoint> *poSecondCollect,
528 static double GetEuclideanDistance(
536 static void NormalizeDistances(std::list<MatchedPointPairInfo> *poList);
int GetY()
Fetch Y-coordinate (line) of point.
Definition: gdal_simplesurf.cpp:99
int octaveNum
Octave which contains this layer (1,2,3...)
Definition: gdal_simplesurf.h:304
int height
Image height in pixels.
Definition: gdal_simplesurf.h:324
Class for handling octave layers in SURF-based algorithm.
Definition: gdal_simplesurf.h:341
int scale
Scale for this layer.
Definition: gdal_simplesurf.h:316
void SetSign(int nSign)
Set sign of point.
Definition: gdal_simplesurf.cpp:109
Class for searching corresponding points on images.
Definition: gdal_simplesurf.h:413
void SetScale(int nScale)
Set scale of point.
Definition: gdal_simplesurf.cpp:103
Class of "feature point" in raster.
Definition: gdal_simplesurf.h:49
double ** detHessians
Hessian values for image pixels.
Definition: gdal_simplesurf.h:328
GDALOctaveLayer *** pMap
2-dimensional array of octave layers
Definition: gdal_simplesurf.h:384
GDALFeaturePoint()
Standard constructor.
Definition: gdal_simplesurf.cpp:38
int GetSign()
Fetch sign of Hessian determinant of point.
Definition: gdal_simplesurf.cpp:108
int GetRadius()
Fetch radius of point.
Definition: gdal_simplesurf.cpp:105
int radius
Length of the border.
Definition: gdal_simplesurf.h:312
void SetY(int nY)
Set Y coordinate of point.
Definition: gdal_simplesurf.cpp:100
Integral image class (summed area table).
Definition: gdal_simplesurf.h:186
double & operator[](int nIndex)
Provide access to point's descriptor.
Definition: gdal_simplesurf.cpp:111
int ** signs
Hessian signs for speeded matching.
Definition: gdal_simplesurf.h:332
int width
Image width in pixels.
Definition: gdal_simplesurf.h:320
Various convenience functions for CPL.
int GetX()
Fetch X-coordinate (pixel) of point.
Definition: gdal_simplesurf.cpp:96
int octaveEnd
Number of top octave.
Definition: gdal_simplesurf.h:399
int filterSize
Length of the side of filter.
Definition: gdal_simplesurf.h:308
int GetScale()
Fetch scale of point.
Definition: gdal_simplesurf.cpp:102
A single raster band (or channel).
Definition: gdal_priv.h:475
void SetRadius(int nRadius)
Set radius of point.
Definition: gdal_simplesurf.cpp:106
int octaveStart
Number of bottom octave.
Definition: gdal_simplesurf.h:394
Class for computation and storage of Hessian values in SURF-based algorithm.
Definition: gdal_simplesurf.h:274
void SetX(int nX)
Set X coordinate of point.
Definition: gdal_simplesurf.cpp:97