MRPT logo

mrpt::vision::CImageConvolution Class Reference

This class performs filtering on a image based on Gaussian or DOG filters. More...

#include <mrpt/vision/CImageConvolution.h>

List of all members.

Static Public Member Functions

static void convolutionHorzVert (CMRPTImageFloat &inImg, CMRPTImageFloat &outImg, CGaussianConvolutionKernel &kernel)
 Performs a 2D convolution of "inImg" using "kernel" and saves the result in "outImg".
static void convolutionHorizontal (CMRPTImageFloat &inImg, CMRPTImageFloat &outImg, CGaussianConvolutionKernel &kernel, TImageROI ROI=TImageROI())
 Performs a horizontal convolution of "inImg" using "kernel" and saves the result in "outImg".
static void convolutionVertical (CMRPTImageFloat &inImg, CMRPTImageFloat &outImg, CGaussianConvolutionKernel &kernel, TImageROI ROI=TImageROI())
 Performs a vertical convolution of "inImg" using "kernel" and saves the result in "outImg".
static void convolutionSeparate (CMRPTImageFloat &inImg, CMRPTImageFloat &outImg, CGaussianConvolutionKernel &kernelHorz, CGaussianConvolutionKernel &kernelVert, TImageROI ROI=TImageROI())
 Performs vertical/horizontal convolution of "inImg" using two different kernels and saves the result in "outImg".
static void convolutionGeneric (const CMRPTImageFloat &inImg, CMRPTImageFloat &outImg, CMatrix &kernel, unsigned int x_min=0, unsigned int x_length=0, unsigned int y_min=0, unsigned int y_length=0)
 Performs convolution of "inImg" using a generic kernel and saves the result in "outImg".
static void convolutionGeneric (const CMRPTImageFloat &inImg, CMRPTImageFloat &outImg, CMatrix &kernel, TImageROI ROI=TImageROI())
static void computeGradients (CMRPTImageFloat &inImg, float sigma, CMRPTImageFloat &outGradientX, CMRPTImageFloat &outGradientY)
 Computes the gradient of an image for a given sigma (Gaussian + DOG filtering).
static void computeSmoothedImage (CMRPTImageFloat &inImg, float sigma, CMRPTImageFloat &outImg, TImageROI ROI=TImageROI())
 Computes the smoothed version of an image for a given sigma (Gaussian filtering).


Detailed Description

This class performs filtering on a image based on Gaussian or DOG filters.

See also:
vision::CImageConvolution, vision

Definition at line 45 of file CImageConvolution.h.


Member Function Documentation

static void mrpt::vision::CImageConvolution::computeGradients ( CMRPTImageFloat inImg,
float  sigma,
CMRPTImageFloat outGradientX,
CMRPTImageFloat outGradientY 
) [static]

Computes the gradient of an image for a given sigma (Gaussian + DOG filtering).

NOTES:

  • "inImg" and "outImg" MUST BE different objects!
  • Internally, the kernels are saved between calls, thus they are computed just the first time for each sigma value.

static void mrpt::vision::CImageConvolution::computeSmoothedImage ( CMRPTImageFloat inImg,
float  sigma,
CMRPTImageFloat outImg,
TImageROI  ROI = TImageROI() 
) [static]

Computes the smoothed version of an image for a given sigma (Gaussian filtering).

NOTES:

  • "inImg" and "outImg" MUST BE different objects!
  • Internally, the kernel is saved between calls, thus it is computed just the first time for each sigma value.

static void mrpt::vision::CImageConvolution::convolutionGeneric ( const CMRPTImageFloat inImg,
CMRPTImageFloat outImg,
CMatrix kernel,
TImageROI  ROI = TImageROI() 
) [static]

static void mrpt::vision::CImageConvolution::convolutionGeneric ( const CMRPTImageFloat inImg,
CMRPTImageFloat outImg,
CMatrix kernel,
unsigned int  x_min = 0,
unsigned int  x_length = 0,
unsigned int  y_min = 0,
unsigned int  y_length = 0 
) [static]

Performs convolution of "inImg" using a generic kernel and saves the result in "outImg".

ROI = [x_min, x_min+x_length-1] x [y_min, y_min+y_length-1] NOTE: "inImg" and "outImg" MUST BE different objects! by FAMD @ JAN-2007

static void mrpt::vision::CImageConvolution::convolutionHorizontal ( CMRPTImageFloat inImg,
CMRPTImageFloat outImg,
CGaussianConvolutionKernel kernel,
TImageROI  ROI = TImageROI() 
) [static]

Performs a horizontal convolution of "inImg" using "kernel" and saves the result in "outImg".

NOTE: "inImg" and "outImg" MUST BE different objects!

static void mrpt::vision::CImageConvolution::convolutionHorzVert ( CMRPTImageFloat inImg,
CMRPTImageFloat outImg,
CGaussianConvolutionKernel kernel 
) [static]

Performs a 2D convolution of "inImg" using "kernel" and saves the result in "outImg".

NOTES:

  • "inImg" and "outImg" MUST BE different objects!
  • The convolution is performed in two separable steps: vertical and horizontal.

static void mrpt::vision::CImageConvolution::convolutionSeparate ( CMRPTImageFloat inImg,
CMRPTImageFloat outImg,
CGaussianConvolutionKernel kernelHorz,
CGaussianConvolutionKernel kernelVert,
TImageROI  ROI = TImageROI() 
) [static]

Performs vertical/horizontal convolution of "inImg" using two different kernels and saves the result in "outImg".

NOTE: "inImg" and "outImg" MUST BE different objects!

static void mrpt::vision::CImageConvolution::convolutionVertical ( CMRPTImageFloat inImg,
CMRPTImageFloat outImg,
CGaussianConvolutionKernel kernel,
TImageROI  ROI = TImageROI() 
) [static]

Performs a vertical convolution of "inImg" using "kernel" and saves the result in "outImg".

NOTE: "inImg" and "outImg" MUST BE different objects!

Todo:
JL: There is bug in "convolutionVertical" (& probably convolutionHorizontal) for images much smaller than the kernel (run MonoSLAM!)




Page generated by Doxygen 1.5.9 for MRPT 0.6.5 SVN: at Sun Aug 2 11:39:56 CDT 2009