Visual Servoing Platform
version 3.0.0
|
#include <visp3/core/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) |
static void | gaussianBlur (const vpImage< double > &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 67 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 174 of file vpImageFilter.cpp.
References vpImageConvert::convert().
Referenced by vpMeNurbs::seekExtremitiesCanny().
|
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 87 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 124 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 103 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 154 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 97 of file vpImageFilter.cpp.
References vpImage< Type >::getHeight(), vpArray2D< Type >::getRows(), vpImage< Type >::getWidth(), and vpImage< Type >::resize().
Referenced by vpTemplateTracker::getGaussianBluredImage(), vpTemplateTrackerMI::getMI(), vpTemplateTrackerMI::getMI256(), vpTemplateTrackerZNCCForwardAdditional::initHessienDesired(), vpTemplateTrackerMIForwardCompositional::initHessienDesired(), vpTemplateTrackerZNCCInverseCompositional::initHessienDesired(), vpTemplateTrackerMIESM::initHessienDesired(), vpTemplateTrackerMIForwardAdditional::initHessienDesired(), vpTemplateTrackerMIInverseCompositional::initHessienDesired(), vpTemplateTracker::initTracking(), vpTemplateTrackerZNCCForwardAdditional::trackNoPyr(), vpTemplateTrackerSSDForwardCompositional::trackNoPyr(), vpTemplateTrackerMIForwardCompositional::trackNoPyr(), vpTemplateTrackerSSDESM::trackNoPyr(), vpTemplateTrackerSSDInverseCompositional::trackNoPyr(), vpTemplateTrackerZNCCInverseCompositional::trackNoPyr(), vpTemplateTrackerSSDForwardAdditional::trackNoPyr(), vpTemplateTrackerMIESM::trackNoPyr(), vpTemplateTrackerMIForwardAdditional::trackNoPyr(), and vpTemplateTrackerMIInverseCompositional::trackNoPyr().
|
static |
Apply a filter to an image.
I | : Image to filter |
If | : Filtered image. |
M | : Filter coefficients. |
Definition at line 57 of file vpImageFilter.cpp.
References vpImage< Type >::getHeight(), vpArray2D< Type >::getRows(), vpImage< Type >::getWidth(), and vpImage< Type >::resize().
|
static |
Apply a separable filter.
Definition at line 205 of file vpImageFilter.cpp.
References vpImage< Type >::destroy(), filterX(), and filterY().
|
static |
Apply a separable filter.
Definition at line 216 of file vpImageFilter.cpp.
References vpImage< Type >::destroy(), filterX(), and filterY().
|
inlinestatic |
Definition at line 184 of file vpImageFilter.h.
Referenced by getGaussXPyramidal().
|
inlinestatic |
Definition at line 188 of file vpImageFilter.h.
Referenced by getGaussYPyramidal().
|
static |
Definition at line 224 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 245 of file vpImageFilter.cpp.
References filterX(), filterXLeftBorder(), filterXRightBorder(), vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), and vpImage< Type >::resize().
|
inlinestatic |
Definition at line 196 of file vpImageFilter.h.
|
inlinestatic |
Definition at line 248 of file vpImageFilter.h.
|
inlinestatic |
Definition at line 212 of file vpImageFilter.h.
Referenced by filterX().
|
inlinestatic |
Definition at line 263 of file vpImageFilter.h.
|
inlinestatic |
Definition at line 230 of file vpImageFilter.h.
References vpImage< Type >::getWidth().
Referenced by filterX().
|
inlinestatic |
Definition at line 281 of file vpImageFilter.h.
References vpImage< Type >::getWidth().
|
static |
Definition at line 266 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 291 of file vpImageFilter.cpp.
References filterY(), filterYBottomBorder(), filterYTopBorder(), vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), and vpImage< Type >::resize().
|
inlinestatic |
Definition at line 301 of file vpImageFilter.h.
|
inlinestatic |
Definition at line 380 of file vpImageFilter.h.
|
inlinestatic |
Definition at line 332 of file vpImageFilter.h.
References vpImage< Type >::getHeight().
Referenced by filterY().
|
inlinestatic |
Definition at line 364 of file vpImageFilter.h.
References vpImage< Type >::getHeight().
|
inlinestatic |
Definition at line 316 of file vpImageFilter.h.
Referenced by filterY().
|
inlinestatic |
Definition at line 348 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 326 of file vpImageFilter.cpp.
References vpImage< Type >::destroy(), filterX(), filterY(), and getGaussianKernel().
|
static |
Apply a Gaussian blur to a double image.
I | : Input double 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 346 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 405 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 406 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 366 of file vpImageFilter.cpp.
References vpImageException::incorrectInitializationError, and vpMath::sqr().
Referenced by gaussianBlur(), vpTemplateTracker::setGaussianFilterSize(), and vpTemplateTracker::vpTemplateTracker().
|
static |
Definition at line 615 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 647 of file vpImageFilter.cpp.
References filterGaussXPyramidal(), vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), and vpImage< Type >::resize().
Referenced by getGaussPyramidal().
|
static |
Definition at line 676 of file vpImageFilter.cpp.
References filterGaussYPyramidal(), vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), and vpImage< Type >::resize().
Referenced by getGaussPyramidal().
Definition at line 439 of file vpImageFilter.cpp.
References derivativeFilterX(), vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), and vpImage< Type >::resize().
Referenced by getGradXGauss2D(), vpTemplateTrackerMIInverseCompositional::initCompInverse(), vpTemplateTrackerZNCCForwardAdditional::initHessienDesired(), vpTemplateTrackerZNCCInverseCompositional::initHessienDesired(), and vpTemplateTrackerMIESM::initHessienDesired().
|
static |
Definition at line 487 of file vpImageFilter.cpp.
References derivativeFilterX(), vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), and vpImage< Type >::resize().
|
static |
Definition at line 507 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 592 of file vpImageFilter.cpp.
References filterY(), and getGradX().
Referenced by vpTemplateTrackerZNCCInverseCompositional::initCompInverse(), vpTemplateTrackerMIInverseCompositional::initCompInverse(), vpTemplateTrackerZNCCForwardAdditional::initHessienDesired(), vpTemplateTrackerMIForwardCompositional::initHessienDesired(), vpTemplateTrackerZNCCInverseCompositional::initHessienDesired(), vpTemplateTrackerMIESM::initHessienDesired(), vpTemplateTrackerMIForwardAdditional::initHessienDesired(), vpTemplateTracker::initTracking(), vpTemplateTrackerZNCCForwardAdditional::trackNoPyr(), vpTemplateTrackerSSDForwardCompositional::trackNoPyr(), vpTemplateTrackerMIForwardCompositional::trackNoPyr(), vpTemplateTrackerSSDESM::trackNoPyr(), vpTemplateTrackerSSDForwardAdditional::trackNoPyr(), vpTemplateTrackerMIESM::trackNoPyr(), and vpTemplateTrackerMIForwardAdditional::trackNoPyr().
Definition at line 460 of file vpImageFilter.cpp.
References derivativeFilterY(), vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), and vpImage< Type >::resize().
Referenced by getGradYGauss2D(), vpTemplateTrackerMIInverseCompositional::initCompInverse(), vpTemplateTrackerZNCCForwardAdditional::initHessienDesired(), vpTemplateTrackerZNCCInverseCompositional::initHessienDesired(), and vpTemplateTrackerMIESM::initHessienDesired().
|
static |
Definition at line 528 of file vpImageFilter.cpp.
References derivativeFilterY(), vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), and vpImage< Type >::resize().
|
static |
Definition at line 557 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 607 of file vpImageFilter.cpp.
References filterX(), and getGradY().
Referenced by vpTemplateTrackerZNCCInverseCompositional::initCompInverse(), vpTemplateTrackerMIInverseCompositional::initCompInverse(), vpTemplateTrackerZNCCForwardAdditional::initHessienDesired(), vpTemplateTrackerMIForwardCompositional::initHessienDesired(), vpTemplateTrackerZNCCInverseCompositional::initHessienDesired(), vpTemplateTrackerMIESM::initHessienDesired(), vpTemplateTrackerMIForwardAdditional::initHessienDesired(), vpTemplateTracker::initTracking(), vpTemplateTrackerZNCCForwardAdditional::trackNoPyr(), vpTemplateTrackerSSDForwardCompositional::trackNoPyr(), vpTemplateTrackerMIForwardCompositional::trackNoPyr(), vpTemplateTrackerSSDESM::trackNoPyr(), vpTemplateTrackerSSDForwardAdditional::trackNoPyr(), vpTemplateTrackerMIESM::trackNoPyr(), and vpTemplateTrackerMIForwardAdditional::trackNoPyr().