EasyImage::RecursiveAverage
Applies stronger noise reduction to small variations and conversely.
Namespace: Euresys::Open_eVision
[C++]
void RecursiveAverage(
const EROIBW8* sourceImage,
const EROIBW16* store,
EROIBW8* destinationImage,
const EBW16Vector* lookupTable
)
Parameters
sourceImage
Pointer to the source image/ROI.
store
Pointer to a 16-bit work image.
destinationImage
Pointer to the destination image/ROI.
lookupTable
Pointer to the LUT vector generated by a call to EasyImage::SetRecursiveAverageLUT.
Remarks
Recursive averaging is a well known process for noise reduction by temporal integration. The principle is to continuously update a noise-free image by blending it, using a linear combination, with the raw, noisy, live image stream.
Algorithmically, this amounts to apply the following recurrence: where
For optimal performance, the non-linearity must be pre-computed once for all using function EasyImage::SetRecursiveAverageLUT.
Note. Before the first call to the EasyImage::RecursiveAverage method, the 16-bit work image must be cleared (all pixel values set to zero).
EasyImage.RecursiveAverage
Applies stronger noise reduction to small variations and conversely.
Namespace: Euresys.Open_eVision
[C#]
void RecursiveAverage(
Euresys.Open_eVision.EROIBW8 sourceImage,
Euresys.Open_eVision.EROIBW16 store,
Euresys.Open_eVision.EROIBW8 destinationImage,
Euresys.Open_eVision.EBW16Vector lookupTable
)
Parameters
sourceImage
Pointer to the source image/ROI.
store
Pointer to a 16-bit work image.
destinationImage
Pointer to the destination image/ROI.
lookupTable
Pointer to the LUT vector generated by a call to EasyImage::SetRecursiveAverageLUT.
Remarks
Recursive averaging is a well known process for noise reduction by temporal integration. The principle is to continuously update a noise-free image by blending it, using a linear combination, with the raw, noisy, live image stream.
Algorithmically, this amounts to apply the following recurrence: where
For optimal performance, the non-linearity must be pre-computed once for all using function EasyImage::SetRecursiveAverageLUT.
Note. Before the first call to the EasyImage::RecursiveAverage method, the 16-bit work image must be cleared (all pixel values set to zero).