Visual Servoing Platform
version 3.3.0 under development (2020-02-17)
|
#include <visp3/core/vpImageFilter.h>
Static Public Member Functions | |
static void | canny (const vpImage< unsigned char > &I, vpImage< unsigned char > &Ic, unsigned int gaussianFilterSize, double thresholdCanny, unsigned int apertureSobel) |
template<class T > | |
static double | derivativeFilterX (const vpImage< T > &I, unsigned int r, unsigned int c) |
template<class T > | |
static double | derivativeFilterY (const vpImage< T > &I, unsigned int r, unsigned int c) |
template<class T > | |
static double | derivativeFilterX (const vpImage< T > &I, unsigned int r, unsigned int c, const double *filter, unsigned int size) |
template<class T > | |
static double | derivativeFilterY (const vpImage< T > &I, unsigned int r, unsigned int c, const double *filter, unsigned int size) |
static void | filter (const vpImage< double > &I, vpImage< double > &Iu, vpImage< double > &Iv, const vpMatrix &M, bool convolve=false) |
static void | filter (const vpImage< unsigned char > &I, vpImage< double > &If, const vpMatrix &M, bool convolve=false) |
static void | sepFilter (const vpImage< unsigned char > &I, vpImage< double > &If, const vpColVector &kernelH, const vpColVector &kernelV) |
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 void | filterX (const vpImage< vpRGBa > &I, vpImage< vpRGBa > &dIx, const double *filter, unsigned int size) |
static void | filterXR (const vpImage< vpRGBa > &I, vpImage< vpRGBa > &dIx, const double *filter, unsigned int size) |
static void | filterXG (const vpImage< vpRGBa > &I, vpImage< vpRGBa > &dIx, const double *filter, unsigned int size) |
static void | filterXB (const vpImage< vpRGBa > &I, vpImage< vpRGBa > &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 | filterXR (const vpImage< vpRGBa > &I, unsigned int r, unsigned int c, const double *filter, unsigned int size) |
static double | filterXG (const vpImage< vpRGBa > &I, unsigned int r, unsigned int c, const double *filter, unsigned int size) |
static double | filterXB (const vpImage< vpRGBa > &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 | filterXLeftBorderR (const vpImage< vpRGBa > &I, unsigned int r, unsigned int c, const double *filter, unsigned int size) |
static double | filterXLeftBorderG (const vpImage< vpRGBa > &I, unsigned int r, unsigned int c, const double *filter, unsigned int size) |
static double | filterXLeftBorderB (const vpImage< vpRGBa > &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 | filterXRightBorderR (const vpImage< vpRGBa > &I, unsigned int r, unsigned int c, const double *filter, unsigned int size) |
static double | filterXRightBorderG (const vpImage< vpRGBa > &I, unsigned int r, unsigned int c, const double *filter, unsigned int size) |
static double | filterXRightBorderB (const vpImage< vpRGBa > &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< vpRGBa > &I, vpImage< vpRGBa > &dIx, const double *filter, unsigned int size) |
static void | filterYR (const vpImage< vpRGBa > &I, vpImage< vpRGBa > &dIx, const double *filter, unsigned int size) |
static void | filterYG (const vpImage< vpRGBa > &I, vpImage< vpRGBa > &dIx, const double *filter, unsigned int size) |
static void | filterYB (const vpImage< vpRGBa > &I, vpImage< vpRGBa > &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 | filterYR (const vpImage< vpRGBa > &I, unsigned int r, unsigned int c, const double *filter, unsigned int size) |
static double | filterYG (const vpImage< vpRGBa > &I, unsigned int r, unsigned int c, const double *filter, unsigned int size) |
static double | filterYB (const vpImage< vpRGBa > &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 | filterYTopBorderR (const vpImage< vpRGBa > &I, unsigned int r, unsigned int c, const double *filter, unsigned int size) |
static double | filterYTopBorderG (const vpImage< vpRGBa > &I, unsigned int r, unsigned int c, const double *filter, unsigned int size) |
static double | filterYTopBorderB (const vpImage< vpRGBa > &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 | filterYBottomBorderR (const vpImage< vpRGBa > &I, unsigned int r, unsigned int c, const double *filter, unsigned int size) |
static double | filterYBottomBorderG (const vpImage< vpRGBa > &I, unsigned int r, unsigned int c, const double *filter, unsigned int size) |
static double | filterYBottomBorderB (const vpImage< vpRGBa > &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< vpRGBa > &I, vpImage< vpRGBa > &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, unsigned int r, 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) |
static double | getSobelKernelX (double *filter, unsigned int size) |
static double | getSobelKernelY (double *filter, 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 298 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 82 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 117 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 96 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 144 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 | : Filter kernel. |
convolve | : If true, perform a convolution otherwise a correlation. |
Definition at line 127 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(), vpTemplateTrackerMIForwardAdditional::initHessienDesired(), vpTemplateTrackerMIESM::initHessienDesired(), vpTemplateTrackerMIInverseCompositional::initHessienDesired(), vpTemplateTracker::initTracking(), vpTemplateTrackerZNCCForwardAdditional::trackNoPyr(), vpTemplateTrackerSSDForwardCompositional::trackNoPyr(), vpTemplateTrackerMIForwardCompositional::trackNoPyr(), vpTemplateTrackerSSDInverseCompositional::trackNoPyr(), vpTemplateTrackerZNCCInverseCompositional::trackNoPyr(), vpTemplateTrackerSSDESM::trackNoPyr(), vpTemplateTrackerSSDForwardAdditional::trackNoPyr(), vpTemplateTrackerMIForwardAdditional::trackNoPyr(), vpTemplateTrackerMIESM::trackNoPyr(), and vpTemplateTrackerMIInverseCompositional::trackNoPyr().
|
static |
Apply a filter to an image.
I | : Image to filter |
If | : Filtered image. |
M | : Filter kernel. |
convolve | : If true, perform a convolution otherwise a correlation. |
The convolution is almost the same operation:
Only pixels in the input image fully covered by the kernel are considered.
Definition at line 77 of file vpImageFilter.cpp.
References vpArray2D< Type >::getCols(), vpImage< Type >::getHeight(), vpArray2D< Type >::getRows(), vpImage< Type >::getWidth(), and vpImage< Type >::resize().
|
static |
Apply a separable filter.
Definition at line 327 of file vpImageFilter.cpp.
References vpImage< Type >::destroy(), filterX(), and filterY().
|
static |
Apply a separable filter.
Definition at line 339 of file vpImageFilter.cpp.
References vpImage< Type >::destroy(), filterX(), and filterY().
|
inlinestatic |
Definition at line 170 of file vpImageFilter.h.
Referenced by getGaussXPyramidal().
|
inlinestatic |
Definition at line 175 of file vpImageFilter.h.
Referenced by getGaussYPyramidal().
|
static |
Definition at line 347 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 387 of file vpImageFilter.cpp.
References filterX(), filterXLeftBorder(), filterXRightBorder(), vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), and vpImage< Type >::resize().
|
static |
Definition at line 365 of file vpImageFilter.cpp.
References filterXB(), filterXG(), filterXLeftBorderB(), filterXLeftBorderG(), filterXLeftBorderR(), filterXR(), filterXRightBorderB(), filterXRightBorderG(), filterXRightBorderR(), vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), and vpImage< Type >::resize().
|
inlinestatic |
Definition at line 188 of file vpImageFilter.h.
|
inlinestatic |
Definition at line 368 of file vpImageFilter.h.
|
static |
Referenced by filterX().
|
inlinestatic |
Definition at line 227 of file vpImageFilter.h.
|
static |
Referenced by filterX().
|
inlinestatic |
Definition at line 214 of file vpImageFilter.h.
|
inlinestatic |
Definition at line 240 of file vpImageFilter.h.
Referenced by filterX().
|
inlinestatic |
Definition at line 381 of file vpImageFilter.h.
|
inlinestatic |
Definition at line 288 of file vpImageFilter.h.
Referenced by filterX().
|
inlinestatic |
Definition at line 272 of file vpImageFilter.h.
Referenced by filterX().
|
inlinestatic |
Definition at line 256 of file vpImageFilter.h.
Referenced by filterX().
|
static |
Referenced by filterX().
|
inlinestatic |
Definition at line 201 of file vpImageFilter.h.
|
inlinestatic |
Definition at line 304 of file vpImageFilter.h.
References vpImage< Type >::getWidth().
Referenced by filterX().
|
inlinestatic |
Definition at line 397 of file vpImageFilter.h.
References vpImage< Type >::getWidth().
|
inlinestatic |
Definition at line 352 of file vpImageFilter.h.
References vpImage< Type >::getWidth().
Referenced by filterX().
|
inlinestatic |
Definition at line 336 of file vpImageFilter.h.
References vpImage< Type >::getWidth().
Referenced by filterX().
|
inlinestatic |
Definition at line 320 of file vpImageFilter.h.
References vpImage< Type >::getWidth().
Referenced by filterX().
|
static |
Definition at line 404 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 424 of file vpImageFilter.cpp.
References filterYB(), filterYBottomBorderB(), filterYBottomBorderG(), filterYBottomBorderR(), filterYG(), filterYR(), filterYTopBorderB(), filterYTopBorderG(), filterYTopBorderR(), vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), and vpImage< Type >::resize().
|
static |
Definition at line 450 of file vpImageFilter.cpp.
References filterY(), filterYBottomBorder(), filterYTopBorder(), vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), and vpImage< Type >::resize().
|
inlinestatic |
Definition at line 419 of file vpImageFilter.h.
|
inlinestatic |
Definition at line 629 of file vpImageFilter.h.
|
static |
Referenced by filterY().
|
inlinestatic |
Definition at line 456 of file vpImageFilter.h.
|
inlinestatic |
Definition at line 533 of file vpImageFilter.h.
References vpImage< Type >::getHeight().
Referenced by filterY().
|
inlinestatic |
Definition at line 613 of file vpImageFilter.h.
References vpImage< Type >::getHeight().
|
inlinestatic |
Definition at line 581 of file vpImageFilter.h.
References vpImage< Type >::getHeight().
Referenced by filterY().
|
inlinestatic |
Definition at line 565 of file vpImageFilter.h.
References vpImage< Type >::getHeight().
Referenced by filterY().
|
inlinestatic |
Definition at line 549 of file vpImageFilter.h.
References vpImage< Type >::getHeight().
Referenced by filterY().
|
static |
Referenced by filterY().
|
inlinestatic |
Definition at line 444 of file vpImageFilter.h.
|
static |
Referenced by filterY().
|
inlinestatic |
Definition at line 432 of file vpImageFilter.h.
|
inlinestatic |
Definition at line 469 of file vpImageFilter.h.
Referenced by filterY().
|
inlinestatic |
Definition at line 597 of file vpImageFilter.h.
|
inlinestatic |
Definition at line 517 of file vpImageFilter.h.
Referenced by filterY().
|
inlinestatic |
Definition at line 501 of file vpImageFilter.h.
Referenced by filterY().
|
inlinestatic |
Definition at line 485 of file vpImageFilter.h.
Referenced by filterY().
|
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 482 of file vpImageFilter.cpp.
References vpImage< Type >::destroy(), filterX(), filterY(), and getGaussianKernel().
Referenced by vp::unsharpMask().
|
static |
Apply a Gaussian blur to RGB color 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 505 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 528 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 655 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 595 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.
[out] | filter | : Pointer to the half size 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. |
[in] | size | : Filter size. This value should be odd and positive. |
[in] | sigma | : Gaussian standard deviation . If it is equal to zero or negative, it is computed from filter size as sigma = (size-1)/6. |
[in] | normalize | : Flag indicating whether to normalize the filter coefficients or not. In that case . |
The function computes the (size+1)/2 values of the Gaussian filter cooefficients as:
Definition at line 555 of file vpImageFilter.cpp.
References vpImageException::incorrectInitializationError, and vpMath::sqr().
Referenced by gaussianBlur(), vpTemplateTracker::setGaussianFilterSize(), and vpTemplateTracker::vpTemplateTracker().
|
static |
Definition at line 776 of file vpImageFilter.cpp.
References vpImageConvert::convert(), getGaussXPyramidal(), getGaussYPyramidal(), vpImage< Type >::getHeight(), and vpImage< Type >::getWidth().
Referenced by vpTemplateTracker::initHessienDesiredPyr(), vpTemplateTracker::initTrackingPyr(), and vpTemplateTracker::trackPyr().
|
static |
Definition at line 808 of file vpImageFilter.cpp.
References filterGaussXPyramidal(), vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), and vpImage< Type >::resize().
Referenced by getGaussPyramidal().
|
static |
Definition at line 835 of file vpImageFilter.cpp.
References filterGaussYPyramidal(), vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), and vpImage< Type >::resize().
Referenced by getGaussPyramidal().
Definition at line 624 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 662 of file vpImageFilter.cpp.
References derivativeFilterX(), vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), and vpImage< Type >::resize().
|
static |
Definition at line 679 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 750 of file vpImageFilter.cpp.
References filterY(), and getGradX().
Referenced by vpTemplateTrackerZNCCInverseCompositional::initCompInverse(), vpTemplateTrackerMIInverseCompositional::initCompInverse(), vpTemplateTrackerZNCCForwardAdditional::initHessienDesired(), vpTemplateTrackerMIForwardCompositional::initHessienDesired(), vpTemplateTrackerZNCCInverseCompositional::initHessienDesired(), vpTemplateTrackerMIForwardAdditional::initHessienDesired(), vpTemplateTrackerMIESM::initHessienDesired(), vpTemplateTracker::initTracking(), vpTemplateTrackerZNCCForwardAdditional::trackNoPyr(), vpTemplateTrackerSSDForwardCompositional::trackNoPyr(), vpTemplateTrackerMIForwardCompositional::trackNoPyr(), vpTemplateTrackerSSDESM::trackNoPyr(), vpTemplateTrackerSSDForwardAdditional::trackNoPyr(), vpTemplateTrackerMIForwardAdditional::trackNoPyr(), and vpTemplateTrackerMIESM::trackNoPyr().
Definition at line 641 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 696 of file vpImageFilter.cpp.
References derivativeFilterY(), vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), and vpImage< Type >::resize().
|
static |
Definition at line 720 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 767 of file vpImageFilter.cpp.
References filterX(), and getGradY().
Referenced by vpTemplateTrackerZNCCInverseCompositional::initCompInverse(), vpTemplateTrackerMIInverseCompositional::initCompInverse(), vpTemplateTrackerZNCCForwardAdditional::initHessienDesired(), vpTemplateTrackerMIForwardCompositional::initHessienDesired(), vpTemplateTrackerZNCCInverseCompositional::initHessienDesired(), vpTemplateTrackerMIForwardAdditional::initHessienDesired(), vpTemplateTrackerMIESM::initHessienDesired(), vpTemplateTracker::initTracking(), vpTemplateTrackerZNCCForwardAdditional::trackNoPyr(), vpTemplateTrackerSSDForwardCompositional::trackNoPyr(), vpTemplateTrackerMIForwardCompositional::trackNoPyr(), vpTemplateTrackerSSDESM::trackNoPyr(), vpTemplateTrackerSSDForwardAdditional::trackNoPyr(), vpTemplateTrackerMIForwardAdditional::trackNoPyr(), and vpTemplateTrackerMIESM::trackNoPyr().
|
static |
Get Sobel kernel for X-direction.
filter | : Pointer to a double array already allocated. |
size | : Kernel size computed as: kernel_size = size*2 + 1 (max size is 20). |
Definition at line 869 of file vpImageFilter.cpp.
References vpArray2D< Type >::data, vpException::dimensionError, vpArray2D< Type >::getCols(), vpArray2D< Type >::getRows(), getSobelKernelY(), and vpMatrix::t().
Referenced by vpMbTracker::setProjectionErrorKernelSize(), and vpMbTracker::vpMbTracker().
|
static |
Get Sobel kernel for Y-direction.
filter | : Pointer to a double array already allocated. |
size | : Kernel size computed as: kernel_size = size*2 + 1 (max size is 20). |
Definition at line 889 of file vpImageFilter.cpp.
References vpMatrix::conv2(), vpArray2D< Type >::data, vpException::dimensionError, vpArray2D< Type >::getCols(), and vpArray2D< Type >::getRows().
Referenced by getSobelKernelX(), vpMbTracker::setProjectionErrorKernelSize(), and vpMbTracker::vpMbTracker().
|
static |
Apply a filter to an image using two separable kernels. For instance, the Sobel kernel can be decomposed to:
Thus, the convolution operation can be performed as:
Using two separable kernels reduce the number of operations and can be faster for large kernels.
I | : Image to filter |
If | : Filtered image. |
kernelH | : Separable kernel (performed first). |
kernelV | : Separable kernel (performed last). |
Definition at line 225 of file vpImageFilter.cpp.
References vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), vpImage< Type >::resize(), and vpArray2D< Type >::size().