35 #ifndef GDALSIMPLESURF_H_ 36 #define GDALSIMPLESURF_H_ 176 double *padfDescriptor;
203 void Initialize(
const double **padfImg,
int nHeight,
int nWidth);
213 double GetValue(
int nRow,
int nCol);
226 double GetRectangleSum(
int nRow,
int nCol,
int nWidth,
int nHeight);
237 double HaarWavelet_X(
int nRow,
int nCol,
int nSize);
248 double HaarWavelet_Y(
int nRow,
int nCol,
int nSize);
265 double **pMatrix =
nullptr;
397 static const int INTERVALS = 4;
428 class MatchedPointPairInfo
431 MatchedPointPairInfo(
int nInd_1,
int nInd_2,
double dfDist):
432 ind_1(nInd_1), ind_2(nInd_2), euclideanDist(dfDist) {}
436 double euclideanDist;
482 static CPLErr ConvertRGBToLuminosity(
486 int nXSize,
int nYSize,
487 double **padfImg,
int nHeight,
int nWidth);
503 std::vector<GDALFeaturePoint>*
518 static CPLErr MatchFeaturePoints(
519 std::vector<GDALFeaturePoint*> *poMatchPairs,
520 std::vector<GDALFeaturePoint> *poFirstCollect,
521 std::vector<GDALFeaturePoint> *poSecondCollect,
534 static double GetEuclideanDistance(
542 static void NormalizeDistances(std::list<MatchedPointPairInfo> *poList);
GDALFeaturePoint & operator=(const GDALFeaturePoint &point)
Assignment operator.
Definition: gdal_simplesurf.cpp:71
int octaveNum
Octave which contains this layer (1,2,3...)
Definition: gdal_simplesurf.h:310
int height
Image height in pixels.
Definition: gdal_simplesurf.h:330
int GetY() const
Fetch Y-coordinate (line) of point.
Definition: gdal_simplesurf.cpp:96
Class for handling octave layers in SURF-based algorithm.
Definition: gdal_simplesurf.h:347
int scale
Scale for this layer.
Definition: gdal_simplesurf.h:322
void SetSign(int nSign)
Set sign of point.
Definition: gdal_simplesurf.cpp:106
Class for searching corresponding points on images.
Definition: gdal_simplesurf.h:421
void SetScale(int nScale)
Set scale of point.
Definition: gdal_simplesurf.cpp:100
Class of "feature point" in raster.
Definition: gdal_simplesurf.h:50
double ** detHessians
Hessian values for image pixels.
Definition: gdal_simplesurf.h:334
GDALOctaveLayer *** pMap
2-dimensional array of octave layers
Definition: gdal_simplesurf.h:392
GDALFeaturePoint()
Standard constructor.
Definition: gdal_simplesurf.cpp:40
int radius
Length of the border.
Definition: gdal_simplesurf.h:318
void SetY(int nY)
Set Y coordinate of point.
Definition: gdal_simplesurf.cpp:97
Integral image class (summed area table).
Definition: gdal_simplesurf.h:188
double & operator[](int nIndex)
Provide access to point's descriptor.
Definition: gdal_simplesurf.cpp:108
int ** signs
Hessian signs for speeded matching.
Definition: gdal_simplesurf.h:338
int width
Image width in pixels.
Definition: gdal_simplesurf.h:326
Various convenience functions for CPL.
int GetX() const
Fetch X-coordinate (pixel) of point.
Definition: gdal_simplesurf.cpp:93
int GetRadius() const
Fetch radius of point.
Definition: gdal_simplesurf.cpp:102
int octaveEnd
Number of top octave.
Definition: gdal_simplesurf.h:407
int filterSize
Length of the side of filter.
Definition: gdal_simplesurf.h:314
A single raster band (or channel).
Definition: gdal_priv.h:1032
static const int DESC_SIZE
Descriptor length.
Definition: gdal_simplesurf.h:95
void SetRadius(int nRadius)
Set radius of point.
Definition: gdal_simplesurf.cpp:103
int octaveStart
Number of bottom octave.
Definition: gdal_simplesurf.h:402
int GetSign() const
Fetch sign of Hessian determinant of point.
Definition: gdal_simplesurf.cpp:105
Class for computation and storage of Hessian values in SURF-based algorithm.
Definition: gdal_simplesurf.h:278
int GetScale() const
Fetch scale of point.
Definition: gdal_simplesurf.cpp:99
void SetX(int nX)
Set X coordinate of point.
Definition: gdal_simplesurf.cpp:94
CPLErr
Error category.
Definition: cpl_error.h:52
#define CPL_DISALLOW_COPY_ASSIGN(ClassName)
Helper to remove the copy and assignment constructors so that the compiler will not generate the defa...
Definition: cpl_port.h:989