iLab Neuromorphic Robotics Toolkit  0.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Separable Filtering

These methods perform convolution of a separable kernel and an Image using a given convolution boundary strategy.

See Also
Image Filtering

Enumerations

enum  nrt::ConvolutionBoundaryStrategy { nrt::ConvolutionBoundaryStrategy::ZERO, nrt::ConvolutionBoundaryStrategy::CLEAN, nrt::ConvolutionBoundaryStrategy::REPLICATE }
 Convolution boundary strategies. More...
 

Functions

template<NRT_PROMOTE_PIX(double) >
Image< DestType > const nrt::xFilter (Image< PixType > const src, Image< DestType > const hKernel, ConvolutionBoundaryStrategy const boundary)
 Convolve a horizontal 1-D kernel with the input Image using the given boundary strategy.
 
template<NRT_PROMOTE_PIX(double) >
Image< DestType > const nrt::yFilter (Image< PixType > const src, Image< DestType > const vKernel, ConvolutionBoundaryStrategy const boundary)
 Convolve a vertical 1-D kernel with the input Image using the given boundary strategy.
 
template<NRT_PROMOTE_PIX(double) >
Image< DestType > const nrt::separableFilter (Image< PixType > const src, Image< DestType > const hKernel, Image< DestType > const vKernel, ConvolutionBoundaryStrategy const boundary)
 Convolve horizontal and vertical separable kernels with the input Image using the given boundary strategy. More...
 
template<NRT_PROMOTE_PIX(double) >
Image< DestType > const nrt::separableFilter (Image< PixType > const src, Image< DestType > const kernel, ConvolutionBoundaryStrategy const boundary)
 Convolve a single separable filter (either 1xN or Nx1) with the input Image using the given boundary strategy. More...
 

Enumeration Type Documentation

Convolution boundary strategies.

Enumerator
ZERO 

zero-pad, i.e., a black border is simulated around the source image

CLEAN 

normalize by the sum of the used filter coefficients (see Itti and Koch, Vision Research, 2000)

REPLICATE 

replicate the nearest image pixel value

Definition at line 58 of file SeparableFilter.H.

Function Documentation

template<NRT_PROMOTE_PIX(double) >
Image<DestType> const nrt::separableFilter ( Image< PixType > const  src,
Image< DestType > const  hKernel,
Image< DestType > const  vKernel,
ConvolutionBoundaryStrategy const  boundary 
)

Convolve horizontal and vertical separable kernels with the input Image using the given boundary strategy.

Internally, this method just calls nrt::yFilter(nrt::xFilter(src, hKernel), vKernel)

template<NRT_PROMOTE_PIX(double) >
Image<DestType> const nrt::separableFilter ( Image< PixType > const  src,
Image< DestType > const  kernel,
ConvolutionBoundaryStrategy const  boundary 
)

Convolve a single separable filter (either 1xN or Nx1) with the input Image using the given boundary strategy.

Internally, this method just calls yFilter() OR xFilter(), depending on whether kernel is a row or a column