ViSP
2.9.0
|
#include <vpImageFilter.h>
Static Public Member Functions | |
static void | canny (const vpImage< unsigned char > &I, vpImage< unsigned char > &Ic, const unsigned int gaussianFilterSize, const double thresholdCanny, const unsigned int apertureSobel) |
template<class T > | |
static double | derivativeFilterX (const vpImage< T > &I, const unsigned int r, const unsigned int c) |
template<class T > | |
static double | derivativeFilterY (const vpImage< T > &I, const unsigned int r, const unsigned int c) |
template<class T > | |
static double | derivativeFilterX (const vpImage< T > &I, const unsigned int r, const unsigned int c, const double *filter, const unsigned int size) |
template<class T > | |
static double | derivativeFilterY (const vpImage< T > &I, const unsigned int r, const unsigned int c, const double *filter, const unsigned int size) |
static void | filter (const vpImage< double > &I, vpImage< double > &Iu, vpImage< double > &Iv, const vpMatrix &M) |
static void | filter (const vpImage< unsigned char > &I, vpImage< double > &If, const vpMatrix &M) |
static void | filter (const vpImage< unsigned char > &I, vpImage< double > &GI, const double *filter, unsigned int size) |
static void | filter (const vpImage< double > &I, vpImage< double > &GI, const double *filter, unsigned int size) |
static unsigned char | filterGaussXPyramidal (const vpImage< unsigned char > &I, unsigned int i, unsigned int j) |
static unsigned char | filterGaussYPyramidal (const vpImage< unsigned char > &I, unsigned int i, unsigned int j) |
static void | filterX (const vpImage< unsigned char > &I, vpImage< double > &dIx, const double *filter, unsigned int size) |
static void | filterX (const vpImage< double > &I, vpImage< double > &dIx, const double *filter, unsigned int size) |
static double | filterX (const vpImage< unsigned char > &I, unsigned int r, unsigned int c, const double *filter, unsigned int size) |
static double | filterXLeftBorder (const vpImage< unsigned char > &I, unsigned int r, unsigned int c, const double *filter, unsigned int size) |
static double | filterXRightBorder (const vpImage< unsigned char > &I, unsigned int r, unsigned int c, const double *filter, unsigned int size) |
static double | filterX (const vpImage< double > &I, unsigned int r, unsigned int c, const double *filter, unsigned int size) |
static double | filterXLeftBorder (const vpImage< double > &I, unsigned int r, unsigned int c, const double *filter, unsigned int size) |
static double | filterXRightBorder (const vpImage< double > &I, unsigned int r, unsigned int c, const double *filter, unsigned int size) |
static void | filterY (const vpImage< unsigned char > &I, vpImage< double > &dIx, const double *filter, unsigned int size) |
static void | filterY (const vpImage< double > &I, vpImage< double > &dIx, const double *filter, unsigned int size) |
static double | filterY (const vpImage< unsigned char > &I, unsigned int r, unsigned int c, const double *filter, unsigned int size) |
static double | filterYTopBorder (const vpImage< unsigned char > &I, unsigned int r, unsigned int c, const double *filter, unsigned int size) |
static double | filterYBottomBorder (const vpImage< unsigned char > &I, unsigned int r, unsigned int c, const double *filter, unsigned int size) |
static double | filterYTopBorder (const vpImage< double > &I, unsigned int r, unsigned int c, const double *filter, unsigned int size) |
static double | filterYBottomBorder (const vpImage< double > &I, unsigned int r, unsigned int c, const double *filter, unsigned int size) |
static double | filterY (const vpImage< double > &I, unsigned int r, unsigned int c, const double *filter, unsigned int size) |
static void | gaussianBlur (const vpImage< unsigned char > &I, vpImage< double > &GI, unsigned int size=7, double sigma=0., bool normalize=true) |
template<class T > | |
static double | gaussianFilter (const vpImage< T > &fr, const unsigned int r, const unsigned int c) |
static void | getGaussPyramidal (const vpImage< unsigned char > &I, vpImage< unsigned char > &GI) |
static void | getGaussXPyramidal (const vpImage< unsigned char > &I, vpImage< unsigned char > &GI) |
static void | getGaussYPyramidal (const vpImage< unsigned char > &I, vpImage< unsigned char > &GI) |
static void | getGaussianKernel (double *filter, unsigned int size, double sigma=0., bool normalize=true) |
static void | getGaussianDerivativeKernel (double *filter, unsigned int size, double sigma=0., bool normalize=true) |
static void | getGradX (const vpImage< unsigned char > &I, vpImage< double > &dIx) |
static void | getGradX (const vpImage< unsigned char > &I, vpImage< double > &dIx, const double *filter, unsigned int size) |
static void | getGradX (const vpImage< double > &I, vpImage< double > &dIx, const double *filter, unsigned int size) |
static void | getGradXGauss2D (const vpImage< unsigned char > &I, vpImage< double > &dIx, const double *gaussianKernel, const double *gaussianDerivativeKernel, unsigned int size) |
static void | getGradY (const vpImage< unsigned char > &I, vpImage< double > &dIy) |
static void | getGradY (const vpImage< unsigned char > &I, vpImage< double > &dIy, const double *filter, unsigned int size) |
static void | getGradY (const vpImage< double > &I, vpImage< double > &dIy, const double *filter, unsigned int size) |
static void | getGradYGauss2D (const vpImage< unsigned char > &I, vpImage< double > &dIy, const double *gaussianKernel, const double *gaussianDerivativeKernel, unsigned int size) |
Various image filter, convolution, etc...
Definition at line 71 of file vpImageFilter.h.
|
static |
Apply the Canny edge operator on the image Isrc and return the resulting image Ires.
The following example shows how to use the method:
Isrc | : Image to apply the Canny edge detector to. |
Ires | : Filtered image (255 means an edge, 0 otherwise). |
gaussianFilterSize | : The size of the mask of the Gaussian filter to apply (an odd number). |
thresholdCanny | : The threshold for the Canny operator. Only value greater than this value are marked as an edge). |
apertureSobel | : Size of the mask for the Sobel operator (odd number). |
Definition at line 176 of file vpImageFilter.cpp.
References vpImageConvert::convert().
|
inlinestatic |
Apply a 1x3 derivative filter to an image pixel.
I | : Image to filter |
r | coordinates (row) of the pixel |
c | : coordinates (column) of the pixel |
Definition at line 91 of file vpImageFilter.h.
Referenced by vpFeatureLuminance::buildFrom(), and getGradX().
|
inlinestatic |
Apply a 1 x size Derivative Filter in X to an image pixel.
I | : Image to filter |
r | : coordinates (row) of the pixel |
c | : coordinates (column) of the pixel |
filter | : coefficients of the filter to be initialized using vpImageFilter::getGaussianDerivativeKernel(). |
size | : size of the filter |
Definition at line 128 of file vpImageFilter.h.
|
inlinestatic |
Apply a 3x1 derivative filter to an image pixel.
I | : Image to filter |
r | : coordinates (row) of the pixel |
c | : coordinates (column) of the pixel |
Definition at line 107 of file vpImageFilter.h.
Referenced by vpFeatureLuminance::buildFrom(), and getGradY().
|
inlinestatic |
Apply a size x 1 Derivative Filter in Y to an image pixel.
I | : Image to filter |
r | : coordinates (row) of the pixel |
c | : coordinates (column) of the pixel |
filter | : coefficients of the filter to be initialized using vpImageFilter::getGaussianDerivativeKernel(). |
size | : size of the filter |
Definition at line 158 of file vpImageFilter.h.
|
static |
Apply a filter to an image.
I | : Image to filter |
Iu | : Filtered image along the horizontal axis (u = columns). |
Iv | : Filtered image along the vertical axis (v = rows). |
M | : Separate filter coefficients |
Definition at line 99 of file vpImageFilter.cpp.
References vpImage< Type >::getHeight(), vpMatrix::getRows(), vpImage< Type >::getWidth(), and vpImage< Type >::resize().
Referenced by vpTemplateTracker::getGaussianBluredImage(), vpTemplateTrackerZNCCForwardAdditional::initHessienDesired(), vpTemplateTrackerZNCCInverseCompositional::initHessienDesired(), vpTemplateTracker::initTracking(), vpTemplateTrackerZNCCForwardAdditional::trackNoPyr(), vpTemplateTrackerSSDForwardCompositional::trackNoPyr(), vpTemplateTrackerSSDESM::trackNoPyr(), vpTemplateTrackerZNCCInverseCompositional::trackNoPyr(), vpTemplateTrackerSSDInverseCompositional::trackNoPyr(), and vpTemplateTrackerSSDForwardAdditional::trackNoPyr().
|
static |
Apply a filter to an image.
I | : Image to filter |
If | : Filtered image. |
M | : Filter coefficients. |
Definition at line 59 of file vpImageFilter.cpp.
References vpImage< Type >::getHeight(), vpMatrix::getRows(), vpImage< Type >::getWidth(), and vpImage< Type >::resize().
|
static |
Apply a separable filter.
Definition at line 199 of file vpImageFilter.cpp.
References vpImage< Type >::destroy(), filterX(), and filterY().
|
static |
Apply a separable filter.
Definition at line 210 of file vpImageFilter.cpp.
References vpImage< Type >::destroy(), filterX(), and filterY().
|
inlinestatic |
Definition at line 188 of file vpImageFilter.h.
Referenced by getGaussXPyramidal().
|
inlinestatic |
Definition at line 192 of file vpImageFilter.h.
Referenced by getGaussYPyramidal().
|
static |
Definition at line 218 of file vpImageFilter.cpp.
References filterXLeftBorder(), filterXRightBorder(), vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), and vpImage< Type >::resize().
Referenced by filter(), filterX(), gaussianBlur(), and getGradYGauss2D().
|
static |
Definition at line 239 of file vpImageFilter.cpp.
References filterX(), filterXLeftBorder(), filterXRightBorder(), vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), and vpImage< Type >::resize().
|
inlinestatic |
Definition at line 200 of file vpImageFilter.h.
|
inlinestatic |
Definition at line 252 of file vpImageFilter.h.
|
inlinestatic |
Definition at line 216 of file vpImageFilter.h.
Referenced by filterX().
|
inlinestatic |
Definition at line 267 of file vpImageFilter.h.
|
inlinestatic |
Definition at line 234 of file vpImageFilter.h.
References vpImage< Type >::getWidth().
Referenced by filterX().
|
inlinestatic |
Definition at line 285 of file vpImageFilter.h.
References vpImage< Type >::getWidth().
|
static |
Definition at line 260 of file vpImageFilter.cpp.
References filterYBottomBorder(), filterYTopBorder(), vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), and vpImage< Type >::resize().
Referenced by filter(), filterY(), gaussianBlur(), and getGradXGauss2D().
|
static |
Definition at line 285 of file vpImageFilter.cpp.
References filterY(), filterYBottomBorder(), filterYTopBorder(), vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), and vpImage< Type >::resize().
|
inlinestatic |
Definition at line 305 of file vpImageFilter.h.
|
inlinestatic |
Definition at line 384 of file vpImageFilter.h.
|
inlinestatic |
Definition at line 336 of file vpImageFilter.h.
References vpImage< Type >::getHeight().
Referenced by filterY().
|
inlinestatic |
Definition at line 368 of file vpImageFilter.h.
References vpImage< Type >::getHeight().
|
inlinestatic |
Definition at line 320 of file vpImageFilter.h.
Referenced by filterY().
|
inlinestatic |
Definition at line 352 of file vpImageFilter.h.
|
static |
Apply a Gaussian blur to an image.
I | : Input image. |
GI | : Filtered image. |
size | : Filter size. This value should be odd. |
sigma | : Gaussian standard deviation. If it is equal to zero or negative, it is computed from filter size as sigma = (size-1)/6. |
normalize | : Flag indicating whether to normalize the filter coefficients or not. |
Definition at line 320 of file vpImageFilter.cpp.
References vpImage< Type >::destroy(), filterX(), filterY(), and getGaussianKernel().
|
inlinestatic |
Apply a 5x5 Gaussian filter to an image pixel.
fr | : Image to filter |
r | : coordinates (row) of the pixel |
c | : coordinates (column) of the pixel |
Definition at line 408 of file vpImageFilter.h.
|
static |
Return the coefficients of a Gaussian derivative filter that may be used to compute spatial image derivatives after applying a Gaussian blur.
filter | : Pointer to the filter kernel that should refer to a (size+1)/2 array. The first value refers to the central coefficient, the next one to the right coefficients. Left coefficients could be deduced by symmetry. |
size | : Filter size. This value should be odd. |
sigma | : Gaussian standard deviation. If it is equal to zero or negative, it is computed from filter size as sigma = (size-1)/6. |
normalize | : Flag indicating whether to normalize the filter coefficients or not. |
Definition at line 380 of file vpImageFilter.cpp.
References vpImageException::incorrectInitializationError, and vpMath::sqr().
Referenced by vpTemplateTracker::setGaussianFilterSize(), and vpTemplateTracker::vpTemplateTracker().
|
static |
Return the coefficients of a Gaussian filter.
filter | : Pointer to the filter kernel that should refer to a (size+1)/2 array. The first value refers to the central coefficient, the next one to the right coefficients. Left coefficients could be deduced by symmetry. |
size | : Filter size. This value should be odd. |
sigma | : Gaussian standard deviation. If it is equal to zero or negative, it is computed from filter size as sigma = (size-1)/6. |
normalize | : Flag indicating whether to normalize the filter coefficients or not. |
Definition at line 340 of file vpImageFilter.cpp.
References vpImageException::incorrectInitializationError, and vpMath::sqr().
Referenced by gaussianBlur(), vpTemplateTracker::setGaussianFilterSize(), and vpTemplateTracker::vpTemplateTracker().
|
static |
Definition at line 589 of file vpImageFilter.cpp.
References vpImageConvert::convert(), getGaussXPyramidal(), getGaussYPyramidal(), vpImage< Type >::getHeight(), and vpImage< Type >::getWidth().
Referenced by vpTemplateTracker::initCompInversePyr(), vpTemplateTracker::initHessienDesiredPyr(), vpTemplateTracker::initTrackingPyr(), and vpTemplateTracker::trackPyr().
|
static |
Definition at line 611 of file vpImageFilter.cpp.
References filterGaussXPyramidal(), vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), and vpImage< Type >::resize().
Referenced by getGaussPyramidal().
|
static |
Definition at line 640 of file vpImageFilter.cpp.
References filterGaussYPyramidal(), vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), and vpImage< Type >::resize().
Referenced by getGaussPyramidal().
Definition at line 413 of file vpImageFilter.cpp.
References derivativeFilterX(), vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), and vpImage< Type >::resize().
Referenced by getGradXGauss2D(), vpTemplateTrackerZNCCForwardAdditional::initHessienDesired(), and vpTemplateTrackerZNCCInverseCompositional::initHessienDesired().
|
static |
Definition at line 461 of file vpImageFilter.cpp.
References derivativeFilterX(), vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), and vpImage< Type >::resize().
|
static |
Definition at line 481 of file vpImageFilter.cpp.
References derivativeFilterX(), vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), and vpImage< Type >::resize().
|
static |
Compute the gradient along X after applying a gaussian filter along Y.
I | : Input image |
dIx | : Gradient along X. |
gaussianKernel | : Gaussian kernel which values should be computed using vpImageFilter::getGaussianKernel(). |
gaussianDerivativeKernel | : Gaussian derivative kernel which values should be computed using vpImageFilter::getGaussianDerivativeKernel(). |
size | : Size of the Gaussian and Gaussian derivative kernels. |
Definition at line 566 of file vpImageFilter.cpp.
References filterY(), and getGradX().
Referenced by vpTemplateTrackerZNCCInverseCompositional::initCompInverse(), vpTemplateTrackerZNCCForwardAdditional::initHessienDesired(), vpTemplateTrackerZNCCInverseCompositional::initHessienDesired(), vpTemplateTracker::initTracking(), vpTemplateTrackerZNCCForwardAdditional::trackNoPyr(), vpTemplateTrackerSSDForwardCompositional::trackNoPyr(), vpTemplateTrackerSSDESM::trackNoPyr(), and vpTemplateTrackerSSDForwardAdditional::trackNoPyr().
Definition at line 434 of file vpImageFilter.cpp.
References derivativeFilterY(), vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), and vpImage< Type >::resize().
Referenced by getGradYGauss2D(), vpTemplateTrackerZNCCForwardAdditional::initHessienDesired(), and vpTemplateTrackerZNCCInverseCompositional::initHessienDesired().
|
static |
Definition at line 502 of file vpImageFilter.cpp.
References derivativeFilterY(), vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), and vpImage< Type >::resize().
|
static |
Definition at line 531 of file vpImageFilter.cpp.
References derivativeFilterY(), vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), and vpImage< Type >::resize().
|
static |
Compute the gradient along Y after applying a gaussian filter along X.
I | : Input image |
dIy | : Gradient along Y. |
gaussianKernel | : Gaussian kernel which values should be computed using vpImageFilter::getGaussianKernel(). |
gaussianDerivativeKernel | : Gaussian derivative kernel which values should be computed using vpImageFilter::getGaussianDerivativeKernel(). |
size | : Size of the Gaussian and Gaussian derivative kernels. |
Definition at line 581 of file vpImageFilter.cpp.
References filterX(), and getGradY().
Referenced by vpTemplateTrackerZNCCInverseCompositional::initCompInverse(), vpTemplateTrackerZNCCForwardAdditional::initHessienDesired(), vpTemplateTrackerZNCCInverseCompositional::initHessienDesired(), vpTemplateTracker::initTracking(), vpTemplateTrackerZNCCForwardAdditional::trackNoPyr(), vpTemplateTrackerSSDForwardCompositional::trackNoPyr(), vpTemplateTrackerSSDESM::trackNoPyr(), and vpTemplateTrackerSSDForwardAdditional::trackNoPyr().