/// <summary> /// Initializes the Single Scale Retinex filter. /// </summary> /// <param name="radius">Radius</param> /// <param name="space">Color space</param> /// <param name="a">Contrast [-1, 1]</param> /// <param name="b">Offset (0, 1]</param> /// <param name="nbase">Logarithm base</param> public SingleScaleRetinex(int radius, Space space, float a = 1, float b = 0, float nbase = Maths.Pi) { gb = new BoxBlur(radius); Space = space; A = a; B = b; Base = nbase; }
/// <summary> /// Initializes the Single Scale Retinex filter. /// </summary> /// <param name="width">Filter width</param> /// <param name="height">Filter height</param> /// <param name="space">Color space</param> /// <param name="a">Contrast [-1, 1]</param> /// <param name="b">Offset (0, 1]</param> /// <param name="nbase">Logarithm base</param> public SingleScaleRetinex(int width, int height, Space space, float a = 1, float b = 0, float nbase = Maths.Pi) { gb = new BoxBlur(width, height); Space = space; A = a; B = b; Base = nbase; }
/// <summary> /// Initializes the Bradley local threshold filter. /// </summary> /// <param name="width">Filter width</param> /// <param name="height">Filter height</param> /// <param name="space">Color space</param> /// <param name="difference">Difference [0, 1]</param> public LocalThreshold(int width, int height, Space space, float difference = 0.15f) { gb = new BoxBlur(width, height); Difference = difference; Space = space; }
/// <summary> /// Initializes the flat-field correction filter. /// </summary> /// <param name="width">Filter width</param> /// <param name="height">Filter height</param> public FlatFieldCorrection(int width, int height) { gb = new BoxBlur(width, height); }
/// <summary> /// Initializes the filter for homomorphic processing. /// </summary> /// <param name="radius">Radius</param> /// <param name="space">Color space</param> /// <param name="a">Contrast [-1, 1]</param> /// <param name="b">Offset (0, 1]</param> public HomomorphicEnhancement(int radius, Space space, float a = 0.5f, float b = 0.05f) { gb = new BoxBlur(radius); Space = space; A = a; B = b; }
/// <summary> /// Initializes the filter for homomorphic processing. /// </summary> /// <param name="size">Radius</param> /// <param name="space">Color space</param> /// <param name="a">Contrast [-1, 1]</param> /// <param name="b">Offset (0, 1]</param> public HomomorphicEnhancement(SizeInt size, Space space, float a = 0.5f, float b = 0.05f) { gb = new BoxBlur(size); Space = space; A = a; B = b; }
/// <summary> /// Initializes the local mask correction filter. /// </summary> /// <param name="radius">Radius</param> /// <param name="space">Color space</param> /// <param name="values">Matrix mask</param> public LocalCorrection(int radius, float[,] values, Space space) { gb = new BoxBlur(radius); Space = space; Values = values; }
/// <summary> /// Initializes the contrast enhancement filter. /// </summary> /// <param name="width">Filter width</param> /// <param name="height">Filter height</param> /// <param name="space">Color space</param> /// <param name="a">Contrast [-1, 1]</param> /// <param name="b">Offset [-1, 1]</param> public KsiContrastEnhancement(int width, int height, Space space, float a = 0.75f, float b = 0.05f) { gb = new BoxBlur(width, height); Space = space; A = a; B = b; }
/// <summary> /// Initializes the shadows and lights correction filter. /// </summary> /// <param name="size">Radius</param> /// <param name="space">Color space</param> /// <param name="shadows">Shadows [0, 1]</param> /// <param name="highlights">Highlights [0, 1]</param> public ShadowsHighlightsCorrection(SizeInt size, Space space, float shadows = 0.4f, float highlights = 0.4f) { gb = new BoxBlur(size); Space = space; Shadows = shadows; Highlights = highlights; }
/// <summary> /// Initializes the local mask correction filter. /// </summary> public LocalCorrection() { gb = new BoxBlur(3); Space = Space.RGB; Values = new float[256, 256]; }
/// <summary> /// Initializes the shadows and lights correction filter. /// </summary> /// <param name="width">Filter width</param> /// <param name="height">Filter height</param> /// <param name="space">Color space</param> /// <param name="shadows">Shadows [0, 1]</param> /// <param name="highlights">Highlights [0, 1]</param> public ShadowsHighlightsCorrection(int width, int height, Space space, float shadows = 0.4f, float highlights = 0.4f) { gb = new BoxBlur(width, height); Space = space; Shadows = shadows; Highlights = highlights; }
/// <summary> /// Initializes the shadows and lights correction filter. /// </summary> /// <param name="radius">Radius</param> /// <param name="space">Color space</param> /// <param name="shadows">Shadows [0, 1]</param> /// <param name="highlights">Highlights [0, 1]</param> public ShadowsHighlightsCorrection(int radius, Space space, float shadows = 0.4f, float highlights = 0.4f) { gb = new BoxBlur(radius); Space = space; Shadows = shadows; Highlights = highlights; }
/// <summary> /// Initializes the flat-field correction filter. /// </summary> /// <param name="size">Radius</param> public FlatFieldCorrection(SizeInt size) { gb = new BoxBlur(size); }
/// <summary> /// Initializes the Single Scale Retinex filter. /// </summary> /// <param name="size">Radius</param> /// <param name="space">Color space</param> /// <param name="a">Contrast [-1, 1]</param> /// <param name="b">Offset (0, 1]</param> /// <param name="nbase">Logarithm base</param> public SingleScaleRetinex(SizeInt size, Space space, float a = 1, float b = 0, float nbase = Maths.Pi) { gb = new BoxBlur(size); Space = space; A = a; B = b; Base = nbase; }
/// <summary> /// Initializes the local mask correction filter. /// </summary> /// <param name="width">Filter width</param> /// <param name="height">Filter height</param> /// <param name="space">Color space</param> /// <param name="values">Matrix mask</param> public LocalCorrection(int width, int height, float[,] values, Space space) { gb = new BoxBlur(width, height); Space = space; Values = values; }
/// <summary> /// Initializes the contrast enhancement filter. /// </summary> /// <param name="radius">Radius</param> /// <param name="space">Color space</param> /// <param name="a">Contrast [-1, 1]</param> /// <param name="b">Offset [-1, 1]</param> public KsiContrastEnhancement(int radius, Space space, float a = 0.75f, float b = 0.05f) { gb = new BoxBlur(radius); Space = space; A = a; B = b; }
/// <summary> /// Initializes the local mask correction filter. /// </summary> /// <param name="size">Filter size</param> /// <param name="space">Color space</param> /// <param name="values">Matrix mask</param> public LocalCorrection(SizeInt size, float[,] values, Space space) { gb = new BoxBlur(size); Space = space; Values = values; }
/// <summary> /// Initializes the contrast enhancement filter. /// </summary> /// <param name="size">Radius</param> /// <param name="space">Color space</param> /// <param name="a">Contrast [-1, 1]</param> /// <param name="b">Offset [-1, 1]</param> public KsiContrastEnhancement(SizeInt size, Space space, float a = 0.75f, float b = 0.05f) { gb = new BoxBlur(size); Space = space; A = a; B = b; }
/// <summary> /// Initializes the local contrast enhancement filter. /// </summary> /// <param name="radius">Radius</param> /// <param name="space">Color space</param> /// <param name="contrast">Contrast [-1, 1]</param> public LocalContrastEnhancement(int radius, Space space, float contrast = 0.75f) { gb = new BoxBlur(radius); Space = space; Contrast = contrast; }
/// <summary> /// Initializes the filter for homomorphic processing. /// </summary> /// <param name="width">Filter width</param> /// <param name="height">Filter height</param> /// <param name="space">Color space</param> /// <param name="a">Contrast [-1, 1]</param> /// <param name="b">Offset (0, 1]</param> public HomomorphicEnhancement(int width, int height, Space space, float a = 0.5f, float b = 0.05f) { gb = new BoxBlur(width, height); Space = space; A = a; B = b; }
/// <summary> /// Initializes the local contrast enhancement filter. /// </summary> /// <param name="width">Filter width</param> /// <param name="height">Filter height</param> /// <param name="space">Color space</param> /// <param name="contrast">Contrast [-1, 1]</param> public LocalContrastEnhancement(int width, int height, Space space, float contrast = 0.75f) { gb = new BoxBlur(width, height); Space = space; Contrast = contrast; }
/// <summary> /// Initializes the Bradley local threshold filter. /// </summary> /// <param name="radius">Radius</param> /// <param name="space">Color space</param> /// <param name="difference">Difference [0, 1]</param> public LocalThreshold(int radius, Space space, float difference = 0.15f) { gb = new BoxBlur(radius); Difference = difference; Space = space; }
/// <summary> /// Initializes the local contrast enhancement filter. /// </summary> /// <param name="size">Filter size</param> /// <param name="space">Color space</param> /// <param name="contrast">Contrast [-1, 1]</param> public LocalContrastEnhancement(SizeInt size, Space space, float contrast = 0.75f) { gb = new BoxBlur(size); Space = space; Contrast = contrast; }
/// <summary> /// Initializes the Bradley local threshold filter. /// </summary> /// <param name="size">Radius</param> /// <param name="space">Color space</param> /// <param name="difference">Difference [0, 1]</param> public LocalThreshold(SizeInt size, Space space, float difference = 0.15f) { gb = new BoxBlur(size); Difference = difference; Space = space; }
private float mB; // mean of blue channel. #endregion #region Filter components /// <summary> /// Initializes the flat-field correction filter. /// </summary> /// <param name="radius">Radius</param> public FlatFieldCorrection(int radius = 15) { gb = new BoxBlur(radius); }