SIFT
|
Functions | |
const vigra::MultiArray< 2, f32_t > | convolveWithGauss (const vigra::MultiArray< 2, f32_t > &img, f32_t sigma) |
const vigra::MultiArray< 2, f32_t > | reduceToNextLevel (const vigra::MultiArray< 2, f32_t > &img, f32_t sigma) |
const vigra::MultiArray< 2, f32_t > | increaseToNextLevel (const vigra::MultiArray< 2, f32_t > &img, f32_t sigma) |
const vigra::MultiArray< 2, f32_t > | dog (const vigra::MultiArray< 2, f32_t > &lower, const vigra::MultiArray< 2, f32_t > &higher) |
const vigra::Matrix< f32_t > | foDerivative (const std::array< vigra::MultiArray< 2, f32_t >, 3 > &img, const Point< u16_t, u16_t > &p) |
const vigra::Matrix< f32_t > | soDerivative (const std::array< vigra::MultiArray< 2, f32_t >, 3 > &img, const Point< u16_t, u16_t > &p) |
f32_t | gradientMagnitude (const vigra::MultiArray< 2, f32_t > &img, const Point< u16_t, u16_t > &p) |
f32_t | gradientOrientation (const vigra::MultiArray< 2, f32_t > &img, const Point< u16_t, u16_t > &p) |
const std::array< f32_t, 36 > | orientationHistogram36 (const vigra::MultiArray< 2, f32_t > &orientations, const vigra::MultiArray< 2, f32_t > &magnitudes, const vigra::MultiArray< 2, f32_t > ¤t_gauss) |
const std::vector< f32_t > | orientationHistogram8 (const vigra::MultiArray< 2, f32_t > &orientations, const vigra::MultiArray< 2, f32_t > &magnitudes, const vigra::MultiArray< 2, f32_t > ¤t_gauss) |
f32_t | vertexParabola (const Point< u16_t, f32_t > &ln, const Point< u16_t, f32_t > &peak, const Point< u16_t, f32_t > &rn) |
std::array< Point< f32_t, f32_t >, 4 > | rotateShape (const Point< u16_t, u16_t > ¢er, f32_t angle, const u16_t width, const u16_t height) |
void | normalizeVector (std::vector< f32_t > &vec) |
const vigra::MultiArray< 2, f32_t > sift::alg::convolveWithGauss | ( | const vigra::MultiArray< 2, f32_t > & | , |
f32_t | |||
) |
Convolves a given image with gaussian with a given sigma
input | the input image which will be convolved |
sigma | the standard deviation for the gaussian |
const vigra::MultiArray< 2, f32_t > sift::alg::dog | ( | const vigra::MultiArray< 2, f32_t > & | , |
const vigra::MultiArray< 2, f32_t > & | |||
) |
Calculates the Difference of Gaussian, which is the differnce between 2 images which were convolved with gaussian under usage of a constant K
lower | the image which lies lower in an octave |
higher | the image which lies higher in an octave |
const vigra::Matrix< f32_t > sift::alg::foDerivative | ( | const std::array< vigra::MultiArray< 2, f32_t >, 3 > & | , |
const Point< u16_t, u16_t > & | |||
) |
Calculates the first order derivative of the image, at the coordinates
img | the image of which the first derivative is taken. |
p | the point at which the derivative is taken |
f32_t sift::alg::gradientMagnitude | ( | const vigra::MultiArray< 2, f32_t > & | , |
const Point< u16_t, u16_t > & | |||
) |
Calculates the gradient magnitude of the given image at the given position
img | the given img |
p | the current point |
f32_t sift::alg::gradientOrientation | ( | const vigra::MultiArray< 2, f32_t > & | , |
const Point< u16_t, u16_t > & | |||
) |
Calculates the gradient orientation of the given image at the given position
img | the given img |
p | the current point |
const vigra::MultiArray< 2, f32_t > sift::alg::increaseToNextLevel | ( | const vigra::MultiArray< 2, f32_t > & | , |
f32_t | |||
) |
Resamples an image by 2
in | the input image |
void sift::alg::normalizeVector | ( | std::vector< f32_t > & | ) |
Normalizes a vector
vec | the vector to be normalized |
const std::array< f32_t, 36 > sift::alg::orientationHistogram36 | ( | const vigra::MultiArray< 2, f32_t > & | , |
const vigra::MultiArray< 2, f32_t > & | , | ||
const vigra::MultiArray< 2, f32_t > & | |||
) |
Creates an orientation Histogram of a given img and his corresponding orientations and magnitudes. Places values in bins of size 10. So the resulting histogram has 36 elements.
orientations | The img of which the histogram is taken from. Needs to be computed by gradient orientations before |
magnitudes | The img of which the bins of the histogram will be weighted. Need to be precomputed by gradient magnitude |
img | the given img |
const std::vector< f32_t > sift::alg::orientationHistogram8 | ( | const vigra::MultiArray< 2, f32_t > & | , |
const vigra::MultiArray< 2, f32_t > & | , | ||
const vigra::MultiArray< 2, f32_t > & | |||
) |
Creates an orientation Histogram of a given img and his corresponding orientations and magnitudes. Places values in bins of size 45. So the resulting histogram has 8 elements.
orientations | The img of which the histogram is taken from. Needs to be computed by gradient orientations before |
magnitudes | The img of which the bins of the histogram will be weighted. Need to be precomputed by gradient magnitude |
img | the given img |
const vigra::MultiArray< 2, f32_t > sift::alg::reduceToNextLevel | ( | const vigra::MultiArray< 2, f32_t > & | , |
f32_t | |||
) |
Resamples an image by 0.5
img | the input image |
std::array< Point< f32_t, f32_t >, 4 > sift::alg::rotateShape | ( | const Point< u16_t, u16_t > & | , |
f32_t | , | ||
const u16_t | , | ||
const u16_t | |||
) |
Rotates a given shape by a given degree clockwise
center | the center point of the shape |
angle | by which angle the shape should be rotated |
width | the width of the shape |
height | the height of the shape |
const vigra::Matrix< f32_t > sift::alg::soDerivative | ( | const std::array< vigra::MultiArray< 2, f32_t >, 3 > & | , |
const Point< u16_t, u16_t > & | |||
) |
Calculates the second order derivative of the image, at the coordinates
img | the image of which the second derivative is taken. |
p | the point at which the derivative is taken |
f32_t sift::alg::vertexParabola | ( | const Point< u16_t, f32_t > & | , |
const Point< u16_t, f32_t > & | , | ||
const Point< u16_t, f32_t > & | |||
) |
Calculates the vertex of a parabola, by taking a max value and its 2 neigbours
ln | the left neighbor of the peak |
peak | the peak value |
rn | the right neighbor of the peak |