This function tries to reduce the speckle noise of an image by applying the Enhanced Frost filter.
More...
template<typename VALUETYPE>
class vigra::EnhancedFrostFunctor< VALUETYPE >
This function tries to reduce the speckle noise of an image by applying the Enhanced Frost filter.
This function tries to reduce the speckle noise of an image by means of applying the enhanced Frost filter using a window of given size, a damping factor k, and the equivalent numbers of look (enl). The implementation is according to the article by Lopez & Touzi & Nezry (1990): Adaptive speckle filters and scene heterogenity.
The user has to provide a window size, a damping factor k, and the equivalent numbers of look (enl). The implementation is according to the article by
Lopez & Touzi & Nezry (1990): Adaptive speckle filters and scene heterogenity.
All restrictions of the called functions applyWindowFunction apply.
Preconditions:
1. 0.0 < k <= 1.0
2. enl > 0
Declarations:
pass 2D array views:
template <class T1, class S1,
class T2, class S2>
void
Diff2D window_shape,
float k,
int enl,
BorderTreatmentMode border = BORDER_TREATMENT_REPEAT);
}
Two dimensional difference vector.
Definition: diff2d.hxx:186
Base class for, and view to, vigra::MultiArray.
Definition: multi_array.hxx:705
show deprecated declarations
pass
Image Iterators and
Data Accessors :
template <class SrcIterator, class SrcAccessor,
class DestIterator, class DestAccessor>
void enhancedFrostFilter(SrcIterator supperleft,
SrcIterator slowerright, SrcAccessor sa,
DestIterator dupperleft, DestAccessor da,
Diff2D window_shape,
float k,
int enl,
BorderTreatmentMode border = BORDER_TREATMENT_REPEAT);
}
use argument objects in conjunction with
Argument Object Factories :
template <class SrcIterator, class SrcAccessor,
class DestIterator, class DestAccessor>
void
enhancedFrostFilter(triple<SrcIterator, SrcIterator, SrcAccessor> src,
pair<DestIterator, DestAccessor> dest,
Diff2D window_shape,
float k,
int enl,
BorderTreatmentMode border = BORDER_TREATMENT_REPEAT);
}
Usage:
#include <vigra/specklefilters.hxx>
Namespace: vigra
unsigned int w=1000, h=1000;
...
enhancedFrostFilter(src, dest,
Diff2D(5,5), 0.5, 3);
Main MultiArray class containing the memory management.
Definition: multi_array.hxx:2477