ImageEn, unit ievision

TIEVisionImage.fastNlMeansDenoisingColored

TIEVisionImage.fastNlMeansDenoisingColored


Declaration

procedure fastNlMeansDenoisingColored(h: single = 3; hColor: single = 3; templateWindowSize: int32_t = 7; searchWindowSize: int32_t = 21); overload; safecall;
procedure fastNlMeansDenoisingColored(outImage: TIEVisionImage; h: single = 3; hColor: single = 3; templateWindowSize: int32_t = 7; searchWindowSize: int32_t = 21); overload; safecall;


Description

Perform image denoising using the Non-local Means Denoising algorithm with several computational optimizations. Noise is expected to be a gaussian white noise.

Note: Pixel format of input image must be ie24RGB.

Parameter Description
outImage ie24RGB image for output
h Filter strength for image luminance. Larger h values perfectly remove noise but also remove image details, smaller h values preserve details but also noise
hColor The same as h but for image color. For most images a value of 10 will be enough to remove colored noise and not distort colors
templateWindowSize Size in pixels of the template patch that is used to compute weights. Should be odd. Recommended value 7
searchWindowSize Size in pixels of the window that is used to compute weighted average for a given pixel. Should be odd. This value affects performance linearly, i.e. a larger value for searchWindowsSize will mean a longer denoising time. Recommended value 21


Demo

Demo  Demos\IEVision\Denoising\Denoising.dpr


Example

begin
  ImageEnView.IO.LoadFromFile('input.jpg');
  ImageEnView.IEBitmap.GetIEVisionImage().fastNlMeansDenoisingColored( 10, 10 );
  ImageEnView.Update();
end;


Also See

- SymmetricNearestNeighbour