Fawkes API  Fawkes Development Version
firevision::FilterLaplace Class Reference

Laplacian filter. More...

#include <>>

Inheritance diagram for firevision::FilterLaplace:

List of all members.

Public Member Functions

 FilterLaplace ()
 Constructor.
 FilterLaplace (float sigma, unsigned int size, float scale)
 Constructor.
 ~FilterLaplace ()
 Destructor.
virtual void apply ()
 Apply the filter.

Static Public Member Functions

static void calculate_kernel (int *kernel_buffer, float sigma, unsigned int size, float scale)
 Calculate a Laplacian of Gaussian kernel.

Detailed Description

Laplacian filter.

Laplacian of Gaussian filter.

Author:
Tim Niemueller

Constructor & Destructor Documentation

firevision::FilterLaplace::FilterLaplace ( )

Constructor.

Definition at line 50 of file laplace.cpp.

firevision::FilterLaplace::FilterLaplace ( float  sigma,
unsigned int  size,
float  scale 
)

Constructor.

Parameters:
sigmasigma for Laplacian
sizesize of kernel
scalescale factor

Definition at line 63 of file laplace.cpp.

References calculate_kernel().

firevision::FilterLaplace::~FilterLaplace ( )

Destructor.

Definition at line 79 of file laplace.cpp.


Member Function Documentation

void firevision::FilterLaplace::apply ( ) [virtual]

Apply the filter.

Apply the filter to the given source and destination buffers with given width and height and orientation (ori may be ignored for some filters).

Implements firevision::Filter.

Definition at line 91 of file laplace.cpp.

References firevision::Filter::src_roi, firevision::ROI::width, firevision::ROI::height, firevision::Filter::src, firevision::ROI::line_step, firevision::ROI::start, fawkes::point_t::x, firevision::ROI::pixel_step, firevision::Filter::dst, firevision::Filter::dst_roi, and fawkes::point_t::y.

void firevision::FilterLaplace::calculate_kernel ( int *  kernel,
float  sigma,
unsigned int  size,
float  scale 
) [static]

Calculate a Laplacian of Gaussian kernel.

The kernel is calculated with the formula

\[ roundf( \frac{-1}{\pi * \sigma^4} * ( 1 - \frac{w^2 + h^2}{2 * \sigma^2} ) * e^{-\frac{w^2 + h^2}{2 * \sigma^2}} * \mathtt{scale} ) \]

Parameters:
kernelbuffer contains kernel upon return
sigmasigma for formula
sizekernel is of quadratic size $\mathtt{size} \times \mathtt{size}$
scalescale parameter in formula

Definition at line 190 of file laplace.cpp.

Referenced by FilterLaplace().


The documentation for this class was generated from the following files: