Xphoto

Objective-C

@interface Xphoto : NSObject

Swift

class Xphoto : NSObject

The Xphoto module

Member classes: TonemapDurand, WhiteBalancer, SimpleWB, GrayworldWB, LearningBasedWB

Member enums: TransformTypes, Bm3dSteps, InpaintTypes

Methods

  • Creates an instance of GrayworldWB

    Declaration

    Objective-C

    + (nonnull GrayworldWB *)createGrayworldWB;

    Swift

    class func createGrayworldWB() -> GrayworldWB
  • Creates an instance of LearningBasedWB

    Declaration

    Objective-C

    + (nonnull LearningBasedWB *)createLearningBasedWB:
        (nonnull NSString *)path_to_model;

    Swift

    class func createLearningBasedWB(path_to_model: String) -> LearningBasedWB

    Parameters

    path_to_model

    Path to a .yml file with the model. If not specified, the default model is used

  • Creates an instance of LearningBasedWB

    Declaration

    Objective-C

    + (nonnull LearningBasedWB *)createLearningBasedWB;

    Swift

    class func createLearningBasedWB() -> LearningBasedWB
  • Creates an instance of SimpleWB

    Declaration

    Objective-C

    + (nonnull SimpleWB *)createSimpleWB;

    Swift

    class func createSimpleWB() -> SimpleWB
  • Creates TonemapDurand object

    You need to set the OPENCV_ENABLE_NONFREE option in cmake to use those. Use them at your own risk.

    Declaration

    Objective-C

    + (nonnull TonemapDurand *)createTonemapDurand:(float)gamma
                                          contrast:(float)contrast
                                        saturation:(float)saturation
                                       sigma_color:(float)sigma_color
                                       sigma_space:(float)sigma_space;

    Swift

    class func createTonemapDurand(gamma: Float, contrast: Float, saturation: Float, sigma_color: Float, sigma_space: Float) -> TonemapDurand

    Parameters

    gamma

    gamma value for gamma correction. See createTonemap

    contrast

    resulting contrast on logarithmic scale, i. e. log(max / min), where max and min are maximum and minimum luminance values of the resulting image.

    saturation

    saturation enhancement value. See createTonemapDrago

    sigma_color

    bilateral filter sigma in color space

    sigma_space

    bilateral filter sigma in coordinate space

  • Creates TonemapDurand object

    You need to set the OPENCV_ENABLE_NONFREE option in cmake to use those. Use them at your own risk.

    Declaration

    Objective-C

    + (nonnull TonemapDurand *)createTonemapDurand:(float)gamma
                                          contrast:(float)contrast
                                        saturation:(float)saturation
                                       sigma_color:(float)sigma_color;

    Swift

    class func createTonemapDurand(gamma: Float, contrast: Float, saturation: Float, sigma_color: Float) -> TonemapDurand

    Parameters

    gamma

    gamma value for gamma correction. See createTonemap

    contrast

    resulting contrast on logarithmic scale, i. e. log(max / min), where max and min are maximum and minimum luminance values of the resulting image.

    saturation

    saturation enhancement value. See createTonemapDrago

    sigma_color

    bilateral filter sigma in color space

  • Creates TonemapDurand object

    You need to set the OPENCV_ENABLE_NONFREE option in cmake to use those. Use them at your own risk.

    Declaration

    Objective-C

    + (nonnull TonemapDurand *)createTonemapDurand:(float)gamma
                                          contrast:(float)contrast
                                        saturation:(float)saturation;

    Swift

    class func createTonemapDurand(gamma: Float, contrast: Float, saturation: Float) -> TonemapDurand

    Parameters

    gamma

    gamma value for gamma correction. See createTonemap

    contrast

    resulting contrast on logarithmic scale, i. e. log(max / min), where max and min are maximum and minimum luminance values of the resulting image.

    saturation

    saturation enhancement value. See createTonemapDrago

  • Creates TonemapDurand object

    You need to set the OPENCV_ENABLE_NONFREE option in cmake to use those. Use them at your own risk.

    Declaration

    Objective-C

    + (nonnull TonemapDurand *)createTonemapDurand:(float)gamma
                                          contrast:(float)contrast;

    Swift

    class func createTonemapDurand(gamma: Float, contrast: Float) -> TonemapDurand

    Parameters

    gamma

    gamma value for gamma correction. See createTonemap

    contrast

    resulting contrast on logarithmic scale, i. e. log(max / min), where max and min are maximum and minimum luminance values of the resulting image.

  • Creates TonemapDurand object

    You need to set the OPENCV_ENABLE_NONFREE option in cmake to use those. Use them at your own risk.

    Declaration

    Objective-C

    + (nonnull TonemapDurand *)createTonemapDurand:(float)gamma;

    Swift

    class func createTonemapDurand(gamma: Float) -> TonemapDurand

    Parameters

    gamma

    gamma value for gamma correction. See createTonemap are maximum and minimum luminance values of the resulting image.

  • Creates TonemapDurand object

    You need to set the OPENCV_ENABLE_NONFREE option in cmake to use those. Use them at your own risk.

    are maximum and minimum luminance values of the resulting image.

    Declaration

    Objective-C

    + (nonnull TonemapDurand *)createTonemapDurand;

    Swift

    class func createTonemapDurand() -> TonemapDurand
  • Implements an efficient fixed-point approximation for applying channel gains, which is the last step of multiple white balance algorithms.

    Declaration

    Objective-C

    + (void)applyChannelGains:(nonnull Mat *)src
                          dst:(nonnull Mat *)dst
                        gainB:(float)gainB
                        gainG:(float)gainG
                        gainR:(float)gainR;

    Swift

    class func applyChannelGains(src: Mat, dst: Mat, gainB: Float, gainG: Float, gainR: Float)

    Parameters

    src

    Input three-channel image in the BGR color space (either CV_8UC3 or CV_16UC3)

    dst

    Output image of the same size and type as src.

    gainB

    gain for the B channel

    gainG

    gain for the G channel

    gainR

    gain for the R channel

  • Performs image denoising using the Block-Matching and 3D-filtering algorithm http://www.cs.tut.fi/~foi/GCF-BM3D/BM3D_TIP_2007.pdf with several computational optimizations. Noise expected to be a gaussian white noise.

    Declaration

    Objective-C

    + (void)bm3dDenoising:(nonnull Mat *)src
                       dst:(nonnull Mat *)dst
                         h:(float)h
        templateWindowSize:(int)templateWindowSize
          searchWindowSize:(int)searchWindowSize
        blockMatchingStep1:(int)blockMatchingStep1
        blockMatchingStep2:(int)blockMatchingStep2
                 groupSize:(int)groupSize
               slidingStep:(int)slidingStep
                      beta:(float)beta
                  normType:(int)normType
                      step:(int)step
             transformType:(int)transformType;

    Swift

    class func bm3dDenoising(src: Mat, dst: Mat, h: Float, templateWindowSize: Int32, searchWindowSize: Int32, blockMatchingStep1: Int32, blockMatchingStep2: Int32, groupSize: Int32, slidingStep: Int32, beta: Float, normType: Int32, step: Int32, transformType: Int32)

    Parameters

    src

    Input 8-bit or 16-bit 1-channel image.

    dst

    Output image with the same size and type as src.

    h

    Parameter regulating filter strength. Big h value perfectly removes noise but also removes image details, smaller h value preserves details but also preserves some noise.

    templateWindowSize

    Size in pixels of the template patch that is used for block-matching. Should be power of 2.

    searchWindowSize

    Size in pixels of the window that is used to perform block-matching. Affect performance linearly: greater searchWindowsSize - greater denoising time. Must be larger than templateWindowSize.

    blockMatchingStep1

    Block matching threshold for the first step of BM3D (hard thresholding), i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance.

    blockMatchingStep2

    Block matching threshold for the second step of BM3D (Wiener filtering), i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance.

    groupSize

    Maximum size of the 3D group for collaborative filtering.

    slidingStep

    Sliding step to process every next reference block.

    beta

    Kaiser window parameter that affects the sidelobe attenuation of the transform of the window. Kaiser window is used in order to reduce border effects. To prevent usage of the window, set beta to zero.

    normType

    Norm used to calculate distance between blocks. L2 is slower than L1 but yields more accurate results.

    step

    Step of BM3D to be executed. Allowed are only BM3D_STEP1 and BM3D_STEPALL. BM3D_STEP2 is not allowed as it requires basic estimate to be present.

    transformType

    Type of the orthogonal transform used in collaborative filtering step. Currently only Haar transform is supported.

     This function expected to be applied to grayscale images. Advanced usage of this function
     can be manual denoising of colored image in different colorspaces.
    
     @sa
     fastNlMeansDenoising
    
  • Performs image denoising using the Block-Matching and 3D-filtering algorithm http://www.cs.tut.fi/~foi/GCF-BM3D/BM3D_TIP_2007.pdf with several computational optimizations. Noise expected to be a gaussian white noise.

    Declaration

    Objective-C

    + (void)bm3dDenoising:(nonnull Mat *)src
                       dst:(nonnull Mat *)dst
                         h:(float)h
        templateWindowSize:(int)templateWindowSize
          searchWindowSize:(int)searchWindowSize
        blockMatchingStep1:(int)blockMatchingStep1
        blockMatchingStep2:(int)blockMatchingStep2
                 groupSize:(int)groupSize
               slidingStep:(int)slidingStep
                      beta:(float)beta
                  normType:(int)normType
                      step:(int)step;

    Swift

    class func bm3dDenoising(src: Mat, dst: Mat, h: Float, templateWindowSize: Int32, searchWindowSize: Int32, blockMatchingStep1: Int32, blockMatchingStep2: Int32, groupSize: Int32, slidingStep: Int32, beta: Float, normType: Int32, step: Int32)

    Parameters

    src

    Input 8-bit or 16-bit 1-channel image.

    dst

    Output image with the same size and type as src.

    h

    Parameter regulating filter strength. Big h value perfectly removes noise but also removes image details, smaller h value preserves details but also preserves some noise.

    templateWindowSize

    Size in pixels of the template patch that is used for block-matching. Should be power of 2.

    searchWindowSize

    Size in pixels of the window that is used to perform block-matching. Affect performance linearly: greater searchWindowsSize - greater denoising time. Must be larger than templateWindowSize.

    blockMatchingStep1

    Block matching threshold for the first step of BM3D (hard thresholding), i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance.

    blockMatchingStep2

    Block matching threshold for the second step of BM3D (Wiener filtering), i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance.

    groupSize

    Maximum size of the 3D group for collaborative filtering.

    slidingStep

    Sliding step to process every next reference block.

    beta

    Kaiser window parameter that affects the sidelobe attenuation of the transform of the window. Kaiser window is used in order to reduce border effects. To prevent usage of the window, set beta to zero.

    normType

    Norm used to calculate distance between blocks. L2 is slower than L1 but yields more accurate results.

    step

    Step of BM3D to be executed. Allowed are only BM3D_STEP1 and BM3D_STEPALL. BM3D_STEP2 is not allowed as it requires basic estimate to be present. Currently only Haar transform is supported.

     This function expected to be applied to grayscale images. Advanced usage of this function
     can be manual denoising of colored image in different colorspaces.
    
     @sa
     fastNlMeansDenoising
    
  • Performs image denoising using the Block-Matching and 3D-filtering algorithm http://www.cs.tut.fi/~foi/GCF-BM3D/BM3D_TIP_2007.pdf with several computational optimizations. Noise expected to be a gaussian white noise.

    Declaration

    Objective-C

    + (void)bm3dDenoising:(nonnull Mat *)src
                       dst:(nonnull Mat *)dst
                         h:(float)h
        templateWindowSize:(int)templateWindowSize
          searchWindowSize:(int)searchWindowSize
        blockMatchingStep1:(int)blockMatchingStep1
        blockMatchingStep2:(int)blockMatchingStep2
                 groupSize:(int)groupSize
               slidingStep:(int)slidingStep
                      beta:(float)beta
                  normType:(int)normType;

    Swift

    class func bm3dDenoising(src: Mat, dst: Mat, h: Float, templateWindowSize: Int32, searchWindowSize: Int32, blockMatchingStep1: Int32, blockMatchingStep2: Int32, groupSize: Int32, slidingStep: Int32, beta: Float, normType: Int32)

    Parameters

    src

    Input 8-bit or 16-bit 1-channel image.

    dst

    Output image with the same size and type as src.

    h

    Parameter regulating filter strength. Big h value perfectly removes noise but also removes image details, smaller h value preserves details but also preserves some noise.

    templateWindowSize

    Size in pixels of the template patch that is used for block-matching. Should be power of 2.

    searchWindowSize

    Size in pixels of the window that is used to perform block-matching. Affect performance linearly: greater searchWindowsSize - greater denoising time. Must be larger than templateWindowSize.

    blockMatchingStep1

    Block matching threshold for the first step of BM3D (hard thresholding), i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance.

    blockMatchingStep2

    Block matching threshold for the second step of BM3D (Wiener filtering), i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance.

    groupSize

    Maximum size of the 3D group for collaborative filtering.

    slidingStep

    Sliding step to process every next reference block.

    beta

    Kaiser window parameter that affects the sidelobe attenuation of the transform of the window. Kaiser window is used in order to reduce border effects. To prevent usage of the window, set beta to zero.

    normType

    Norm used to calculate distance between blocks. L2 is slower than L1 but yields more accurate results. BM3D_STEP2 is not allowed as it requires basic estimate to be present. Currently only Haar transform is supported.

     This function expected to be applied to grayscale images. Advanced usage of this function
     can be manual denoising of colored image in different colorspaces.
    
     @sa
     fastNlMeansDenoising
    
  • Performs image denoising using the Block-Matching and 3D-filtering algorithm http://www.cs.tut.fi/~foi/GCF-BM3D/BM3D_TIP_2007.pdf with several computational optimizations. Noise expected to be a gaussian white noise.

    Declaration

    Objective-C

    + (void)bm3dDenoising:(nonnull Mat *)src
                       dst:(nonnull Mat *)dst
                         h:(float)h
        templateWindowSize:(int)templateWindowSize
          searchWindowSize:(int)searchWindowSize
        blockMatchingStep1:(int)blockMatchingStep1
        blockMatchingStep2:(int)blockMatchingStep2
                 groupSize:(int)groupSize
               slidingStep:(int)slidingStep
                      beta:(float)beta;

    Swift

    class func bm3dDenoising(src: Mat, dst: Mat, h: Float, templateWindowSize: Int32, searchWindowSize: Int32, blockMatchingStep1: Int32, blockMatchingStep2: Int32, groupSize: Int32, slidingStep: Int32, beta: Float)

    Parameters

    src

    Input 8-bit or 16-bit 1-channel image.

    dst

    Output image with the same size and type as src.

    h

    Parameter regulating filter strength. Big h value perfectly removes noise but also removes image details, smaller h value preserves details but also preserves some noise.

    templateWindowSize

    Size in pixels of the template patch that is used for block-matching. Should be power of 2.

    searchWindowSize

    Size in pixels of the window that is used to perform block-matching. Affect performance linearly: greater searchWindowsSize - greater denoising time. Must be larger than templateWindowSize.

    blockMatchingStep1

    Block matching threshold for the first step of BM3D (hard thresholding), i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance.

    blockMatchingStep2

    Block matching threshold for the second step of BM3D (Wiener filtering), i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance.

    groupSize

    Maximum size of the 3D group for collaborative filtering.

    slidingStep

    Sliding step to process every next reference block.

    beta

    Kaiser window parameter that affects the sidelobe attenuation of the transform of the window. Kaiser window is used in order to reduce border effects. To prevent usage of the window, set beta to zero. but yields more accurate results. BM3D_STEP2 is not allowed as it requires basic estimate to be present. Currently only Haar transform is supported.

     This function expected to be applied to grayscale images. Advanced usage of this function
     can be manual denoising of colored image in different colorspaces.
    
     @sa
     fastNlMeansDenoising
    
  • Performs image denoising using the Block-Matching and 3D-filtering algorithm http://www.cs.tut.fi/~foi/GCF-BM3D/BM3D_TIP_2007.pdf with several computational optimizations. Noise expected to be a gaussian white noise.

    Declaration

    Objective-C

    + (void)bm3dDenoising:(nonnull Mat *)src
                       dst:(nonnull Mat *)dst
                         h:(float)h
        templateWindowSize:(int)templateWindowSize
          searchWindowSize:(int)searchWindowSize
        blockMatchingStep1:(int)blockMatchingStep1
        blockMatchingStep2:(int)blockMatchingStep2
                 groupSize:(int)groupSize
               slidingStep:(int)slidingStep;

    Swift

    class func bm3dDenoising(src: Mat, dst: Mat, h: Float, templateWindowSize: Int32, searchWindowSize: Int32, blockMatchingStep1: Int32, blockMatchingStep2: Int32, groupSize: Int32, slidingStep: Int32)

    Parameters

    src

    Input 8-bit or 16-bit 1-channel image.

    dst

    Output image with the same size and type as src.

    h

    Parameter regulating filter strength. Big h value perfectly removes noise but also removes image details, smaller h value preserves details but also preserves some noise.

    templateWindowSize

    Size in pixels of the template patch that is used for block-matching. Should be power of 2.

    searchWindowSize

    Size in pixels of the window that is used to perform block-matching. Affect performance linearly: greater searchWindowsSize - greater denoising time. Must be larger than templateWindowSize.

    blockMatchingStep1

    Block matching threshold for the first step of BM3D (hard thresholding), i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance.

    blockMatchingStep2

    Block matching threshold for the second step of BM3D (Wiener filtering), i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance.

    groupSize

    Maximum size of the 3D group for collaborative filtering.

    slidingStep

    Sliding step to process every next reference block. window. Kaiser window is used in order to reduce border effects. To prevent usage of the window, set beta to zero. but yields more accurate results. BM3D_STEP2 is not allowed as it requires basic estimate to be present. Currently only Haar transform is supported.

     This function expected to be applied to grayscale images. Advanced usage of this function
     can be manual denoising of colored image in different colorspaces.
    
     @sa
     fastNlMeansDenoising
    
  • Performs image denoising using the Block-Matching and 3D-filtering algorithm http://www.cs.tut.fi/~foi/GCF-BM3D/BM3D_TIP_2007.pdf with several computational optimizations. Noise expected to be a gaussian white noise.

    Declaration

    Objective-C

    + (void)bm3dDenoising:(nonnull Mat *)src
                       dst:(nonnull Mat *)dst
                         h:(float)h
        templateWindowSize:(int)templateWindowSize
          searchWindowSize:(int)searchWindowSize
        blockMatchingStep1:(int)blockMatchingStep1
        blockMatchingStep2:(int)blockMatchingStep2
                 groupSize:(int)groupSize;

    Swift

    class func bm3dDenoising(src: Mat, dst: Mat, h: Float, templateWindowSize: Int32, searchWindowSize: Int32, blockMatchingStep1: Int32, blockMatchingStep2: Int32, groupSize: Int32)

    Parameters

    src

    Input 8-bit or 16-bit 1-channel image.

    dst

    Output image with the same size and type as src.

    h

    Parameter regulating filter strength. Big h value perfectly removes noise but also removes image details, smaller h value preserves details but also preserves some noise.

    templateWindowSize

    Size in pixels of the template patch that is used for block-matching. Should be power of 2.

    searchWindowSize

    Size in pixels of the window that is used to perform block-matching. Affect performance linearly: greater searchWindowsSize - greater denoising time. Must be larger than templateWindowSize.

    blockMatchingStep1

    Block matching threshold for the first step of BM3D (hard thresholding), i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance.

    blockMatchingStep2

    Block matching threshold for the second step of BM3D (Wiener filtering), i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance.

    groupSize

    Maximum size of the 3D group for collaborative filtering. window. Kaiser window is used in order to reduce border effects. To prevent usage of the window, set beta to zero. but yields more accurate results. BM3D_STEP2 is not allowed as it requires basic estimate to be present. Currently only Haar transform is supported.

     This function expected to be applied to grayscale images. Advanced usage of this function
     can be manual denoising of colored image in different colorspaces.
    
     @sa
     fastNlMeansDenoising
    
  • Performs image denoising using the Block-Matching and 3D-filtering algorithm http://www.cs.tut.fi/~foi/GCF-BM3D/BM3D_TIP_2007.pdf with several computational optimizations. Noise expected to be a gaussian white noise.

    Declaration

    Objective-C

    + (void)bm3dDenoising:(nonnull Mat *)src
                       dst:(nonnull Mat *)dst
                         h:(float)h
        templateWindowSize:(int)templateWindowSize
          searchWindowSize:(int)searchWindowSize
        blockMatchingStep1:(int)blockMatchingStep1
        blockMatchingStep2:(int)blockMatchingStep2;

    Swift

    class func bm3dDenoising(src: Mat, dst: Mat, h: Float, templateWindowSize: Int32, searchWindowSize: Int32, blockMatchingStep1: Int32, blockMatchingStep2: Int32)

    Parameters

    src

    Input 8-bit or 16-bit 1-channel image.

    dst

    Output image with the same size and type as src.

    h

    Parameter regulating filter strength. Big h value perfectly removes noise but also removes image details, smaller h value preserves details but also preserves some noise.

    templateWindowSize

    Size in pixels of the template patch that is used for block-matching. Should be power of 2.

    searchWindowSize

    Size in pixels of the window that is used to perform block-matching. Affect performance linearly: greater searchWindowsSize - greater denoising time. Must be larger than templateWindowSize.

    blockMatchingStep1

    Block matching threshold for the first step of BM3D (hard thresholding), i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance.

    blockMatchingStep2

    Block matching threshold for the second step of BM3D (Wiener filtering), i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance. window. Kaiser window is used in order to reduce border effects. To prevent usage of the window, set beta to zero. but yields more accurate results. BM3D_STEP2 is not allowed as it requires basic estimate to be present. Currently only Haar transform is supported.

     This function expected to be applied to grayscale images. Advanced usage of this function
     can be manual denoising of colored image in different colorspaces.
    
     @sa
     fastNlMeansDenoising
    
  • Performs image denoising using the Block-Matching and 3D-filtering algorithm http://www.cs.tut.fi/~foi/GCF-BM3D/BM3D_TIP_2007.pdf with several computational optimizations. Noise expected to be a gaussian white noise.

    Declaration

    Objective-C

    + (void)bm3dDenoising:(nonnull Mat *)src
                       dst:(nonnull Mat *)dst
                         h:(float)h
        templateWindowSize:(int)templateWindowSize
          searchWindowSize:(int)searchWindowSize
        blockMatchingStep1:(int)blockMatchingStep1;

    Swift

    class func bm3dDenoising(src: Mat, dst: Mat, h: Float, templateWindowSize: Int32, searchWindowSize: Int32, blockMatchingStep1: Int32)

    Parameters

    src

    Input 8-bit or 16-bit 1-channel image.

    dst

    Output image with the same size and type as src.

    h

    Parameter regulating filter strength. Big h value perfectly removes noise but also removes image details, smaller h value preserves details but also preserves some noise.

    templateWindowSize

    Size in pixels of the template patch that is used for block-matching. Should be power of 2.

    searchWindowSize

    Size in pixels of the window that is used to perform block-matching. Affect performance linearly: greater searchWindowsSize - greater denoising time. Must be larger than templateWindowSize.

    blockMatchingStep1

    Block matching threshold for the first step of BM3D (hard thresholding), i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance. i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance. window. Kaiser window is used in order to reduce border effects. To prevent usage of the window, set beta to zero. but yields more accurate results. BM3D_STEP2 is not allowed as it requires basic estimate to be present. Currently only Haar transform is supported.

     This function expected to be applied to grayscale images. Advanced usage of this function
     can be manual denoising of colored image in different colorspaces.
    
     @sa
     fastNlMeansDenoising
    
  • Performs image denoising using the Block-Matching and 3D-filtering algorithm http://www.cs.tut.fi/~foi/GCF-BM3D/BM3D_TIP_2007.pdf with several computational optimizations. Noise expected to be a gaussian white noise.

    Declaration

    Objective-C

    + (void)bm3dDenoising:(nonnull Mat *)src
                       dst:(nonnull Mat *)dst
                         h:(float)h
        templateWindowSize:(int)templateWindowSize
          searchWindowSize:(int)searchWindowSize;

    Swift

    class func bm3dDenoising(src: Mat, dst: Mat, h: Float, templateWindowSize: Int32, searchWindowSize: Int32)

    Parameters

    src

    Input 8-bit or 16-bit 1-channel image.

    dst

    Output image with the same size and type as src.

    h

    Parameter regulating filter strength. Big h value perfectly removes noise but also removes image details, smaller h value preserves details but also preserves some noise.

    templateWindowSize

    Size in pixels of the template patch that is used for block-matching. Should be power of 2.

    searchWindowSize

    Size in pixels of the window that is used to perform block-matching. Affect performance linearly: greater searchWindowsSize - greater denoising time. Must be larger than templateWindowSize. i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance. i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance. window. Kaiser window is used in order to reduce border effects. To prevent usage of the window, set beta to zero. but yields more accurate results. BM3D_STEP2 is not allowed as it requires basic estimate to be present. Currently only Haar transform is supported.

     This function expected to be applied to grayscale images. Advanced usage of this function
     can be manual denoising of colored image in different colorspaces.
    
     @sa
     fastNlMeansDenoising
    
  • Performs image denoising using the Block-Matching and 3D-filtering algorithm http://www.cs.tut.fi/~foi/GCF-BM3D/BM3D_TIP_2007.pdf with several computational optimizations. Noise expected to be a gaussian white noise.

    Declaration

    Objective-C

    + (void)bm3dDenoising:(nonnull Mat *)src
                       dst:(nonnull Mat *)dst
                         h:(float)h
        templateWindowSize:(int)templateWindowSize;

    Swift

    class func bm3dDenoising(src: Mat, dst: Mat, h: Float, templateWindowSize: Int32)

    Parameters

    src

    Input 8-bit or 16-bit 1-channel image.

    dst

    Output image with the same size and type as src.

    h

    Parameter regulating filter strength. Big h value perfectly removes noise but also removes image details, smaller h value preserves details but also preserves some noise.

    templateWindowSize

    Size in pixels of the template patch that is used for block-matching. Should be power of 2. Affect performance linearly: greater searchWindowsSize - greater denoising time. Must be larger than templateWindowSize. i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance. i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance. window. Kaiser window is used in order to reduce border effects. To prevent usage of the window, set beta to zero. but yields more accurate results. BM3D_STEP2 is not allowed as it requires basic estimate to be present. Currently only Haar transform is supported.

     This function expected to be applied to grayscale images. Advanced usage of this function
     can be manual denoising of colored image in different colorspaces.
    
     @sa
     fastNlMeansDenoising
    
  • Performs image denoising using the Block-Matching and 3D-filtering algorithm http://www.cs.tut.fi/~foi/GCF-BM3D/BM3D_TIP_2007.pdf with several computational optimizations. Noise expected to be a gaussian white noise.

    Declaration

    Objective-C

    + (void)bm3dDenoising:(nonnull Mat *)src dst:(nonnull Mat *)dst h:(float)h;

    Swift

    class func bm3dDenoising(src: Mat, dst: Mat, h: Float)

    Parameters

    src

    Input 8-bit or 16-bit 1-channel image.

    dst

    Output image with the same size and type as src.

    h

    Parameter regulating filter strength. Big h value perfectly removes noise but also removes image details, smaller h value preserves details but also preserves some noise. Should be power of 2. Affect performance linearly: greater searchWindowsSize - greater denoising time. Must be larger than templateWindowSize. i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance. i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance. window. Kaiser window is used in order to reduce border effects. To prevent usage of the window, set beta to zero. but yields more accurate results. BM3D_STEP2 is not allowed as it requires basic estimate to be present. Currently only Haar transform is supported.

     This function expected to be applied to grayscale images. Advanced usage of this function
     can be manual denoising of colored image in different colorspaces.
    
     @sa
     fastNlMeansDenoising
    
  • Performs image denoising using the Block-Matching and 3D-filtering algorithm http://www.cs.tut.fi/~foi/GCF-BM3D/BM3D_TIP_2007.pdf with several computational optimizations. Noise expected to be a gaussian white noise.

    Declaration

    Objective-C

    + (void)bm3dDenoising:(nonnull Mat *)src dst:(nonnull Mat *)dst;

    Swift

    class func bm3dDenoising(src: Mat, dst: Mat)

    Parameters

    src

    Input 8-bit or 16-bit 1-channel image.

    dst

    Output image with the same size and type as src. removes image details, smaller h value preserves details but also preserves some noise. Should be power of 2. Affect performance linearly: greater searchWindowsSize - greater denoising time. Must be larger than templateWindowSize. i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance. i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance. window. Kaiser window is used in order to reduce border effects. To prevent usage of the window, set beta to zero. but yields more accurate results. BM3D_STEP2 is not allowed as it requires basic estimate to be present. Currently only Haar transform is supported.

     This function expected to be applied to grayscale images. Advanced usage of this function
     can be manual denoising of colored image in different colorspaces.
    
     @sa
     fastNlMeansDenoising
    
  • Performs image denoising using the Block-Matching and 3D-filtering algorithm http://www.cs.tut.fi/~foi/GCF-BM3D/BM3D_TIP_2007.pdf with several computational optimizations. Noise expected to be a gaussian white noise.

    Declaration

    Objective-C

    + (void)bm3dDenoising:(nonnull Mat *)src
                  dstStep1:(nonnull Mat *)dstStep1
                  dstStep2:(nonnull Mat *)dstStep2
                         h:(float)h
        templateWindowSize:(int)templateWindowSize
          searchWindowSize:(int)searchWindowSize
        blockMatchingStep1:(int)blockMatchingStep1
        blockMatchingStep2:(int)blockMatchingStep2
                 groupSize:(int)groupSize
               slidingStep:(int)slidingStep
                      beta:(float)beta
                  normType:(int)normType
                      step:(int)step
             transformType:(int)transformType;

    Swift

    class func bm3dDenoising(src: Mat, dstStep1: Mat, dstStep2: Mat, h: Float, templateWindowSize: Int32, searchWindowSize: Int32, blockMatchingStep1: Int32, blockMatchingStep2: Int32, groupSize: Int32, slidingStep: Int32, beta: Float, normType: Int32, step: Int32, transformType: Int32)

    Parameters

    src

    Input 8-bit or 16-bit 1-channel image.

    dstStep1

    Output image of the first step of BM3D with the same size and type as src.

    dstStep2

    Output image of the second step of BM3D with the same size and type as src.

    h

    Parameter regulating filter strength. Big h value perfectly removes noise but also removes image details, smaller h value preserves details but also preserves some noise.

    templateWindowSize

    Size in pixels of the template patch that is used for block-matching. Should be power of 2.

    searchWindowSize

    Size in pixels of the window that is used to perform block-matching. Affect performance linearly: greater searchWindowsSize - greater denoising time. Must be larger than templateWindowSize.

    blockMatchingStep1

    Block matching threshold for the first step of BM3D (hard thresholding), i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance.

    blockMatchingStep2

    Block matching threshold for the second step of BM3D (Wiener filtering), i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance.

    groupSize

    Maximum size of the 3D group for collaborative filtering.

    slidingStep

    Sliding step to process every next reference block.

    beta

    Kaiser window parameter that affects the sidelobe attenuation of the transform of the window. Kaiser window is used in order to reduce border effects. To prevent usage of the window, set beta to zero.

    normType

    Norm used to calculate distance between blocks. L2 is slower than L1 but yields more accurate results.

    step

    Step of BM3D to be executed. Possible variants are: step 1, step 2, both steps.

    transformType

    Type of the orthogonal transform used in collaborative filtering step. Currently only Haar transform is supported.

     This function expected to be applied to grayscale images. Advanced usage of this function
     can be manual denoising of colored image in different colorspaces.
    
     @sa
     fastNlMeansDenoising
    
  • Performs image denoising using the Block-Matching and 3D-filtering algorithm http://www.cs.tut.fi/~foi/GCF-BM3D/BM3D_TIP_2007.pdf with several computational optimizations. Noise expected to be a gaussian white noise.

    Declaration

    Objective-C

    + (void)bm3dDenoising:(nonnull Mat *)src
                  dstStep1:(nonnull Mat *)dstStep1
                  dstStep2:(nonnull Mat *)dstStep2
                         h:(float)h
        templateWindowSize:(int)templateWindowSize
          searchWindowSize:(int)searchWindowSize
        blockMatchingStep1:(int)blockMatchingStep1
        blockMatchingStep2:(int)blockMatchingStep2
                 groupSize:(int)groupSize
               slidingStep:(int)slidingStep
                      beta:(float)beta
                  normType:(int)normType
                      step:(int)step;

    Swift

    class func bm3dDenoising(src: Mat, dstStep1: Mat, dstStep2: Mat, h: Float, templateWindowSize: Int32, searchWindowSize: Int32, blockMatchingStep1: Int32, blockMatchingStep2: Int32, groupSize: Int32, slidingStep: Int32, beta: Float, normType: Int32, step: Int32)

    Parameters

    src

    Input 8-bit or 16-bit 1-channel image.

    dstStep1

    Output image of the first step of BM3D with the same size and type as src.

    dstStep2

    Output image of the second step of BM3D with the same size and type as src.

    h

    Parameter regulating filter strength. Big h value perfectly removes noise but also removes image details, smaller h value preserves details but also preserves some noise.

    templateWindowSize

    Size in pixels of the template patch that is used for block-matching. Should be power of 2.

    searchWindowSize

    Size in pixels of the window that is used to perform block-matching. Affect performance linearly: greater searchWindowsSize - greater denoising time. Must be larger than templateWindowSize.

    blockMatchingStep1

    Block matching threshold for the first step of BM3D (hard thresholding), i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance.

    blockMatchingStep2

    Block matching threshold for the second step of BM3D (Wiener filtering), i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance.

    groupSize

    Maximum size of the 3D group for collaborative filtering.

    slidingStep

    Sliding step to process every next reference block.

    beta

    Kaiser window parameter that affects the sidelobe attenuation of the transform of the window. Kaiser window is used in order to reduce border effects. To prevent usage of the window, set beta to zero.

    normType

    Norm used to calculate distance between blocks. L2 is slower than L1 but yields more accurate results.

    step

    Step of BM3D to be executed. Possible variants are: step 1, step 2, both steps. Currently only Haar transform is supported.

     This function expected to be applied to grayscale images. Advanced usage of this function
     can be manual denoising of colored image in different colorspaces.
    
     @sa
     fastNlMeansDenoising
    
  • Performs image denoising using the Block-Matching and 3D-filtering algorithm http://www.cs.tut.fi/~foi/GCF-BM3D/BM3D_TIP_2007.pdf with several computational optimizations. Noise expected to be a gaussian white noise.

    Declaration

    Objective-C

    + (void)bm3dDenoising:(nonnull Mat *)src
                  dstStep1:(nonnull Mat *)dstStep1
                  dstStep2:(nonnull Mat *)dstStep2
                         h:(float)h
        templateWindowSize:(int)templateWindowSize
          searchWindowSize:(int)searchWindowSize
        blockMatchingStep1:(int)blockMatchingStep1
        blockMatchingStep2:(int)blockMatchingStep2
                 groupSize:(int)groupSize
               slidingStep:(int)slidingStep
                      beta:(float)beta
                  normType:(int)normType;

    Swift

    class func bm3dDenoising(src: Mat, dstStep1: Mat, dstStep2: Mat, h: Float, templateWindowSize: Int32, searchWindowSize: Int32, blockMatchingStep1: Int32, blockMatchingStep2: Int32, groupSize: Int32, slidingStep: Int32, beta: Float, normType: Int32)

    Parameters

    src

    Input 8-bit or 16-bit 1-channel image.

    dstStep1

    Output image of the first step of BM3D with the same size and type as src.

    dstStep2

    Output image of the second step of BM3D with the same size and type as src.

    h

    Parameter regulating filter strength. Big h value perfectly removes noise but also removes image details, smaller h value preserves details but also preserves some noise.

    templateWindowSize

    Size in pixels of the template patch that is used for block-matching. Should be power of 2.

    searchWindowSize

    Size in pixels of the window that is used to perform block-matching. Affect performance linearly: greater searchWindowsSize - greater denoising time. Must be larger than templateWindowSize.

    blockMatchingStep1

    Block matching threshold for the first step of BM3D (hard thresholding), i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance.

    blockMatchingStep2

    Block matching threshold for the second step of BM3D (Wiener filtering), i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance.

    groupSize

    Maximum size of the 3D group for collaborative filtering.

    slidingStep

    Sliding step to process every next reference block.

    beta

    Kaiser window parameter that affects the sidelobe attenuation of the transform of the window. Kaiser window is used in order to reduce border effects. To prevent usage of the window, set beta to zero.

    normType

    Norm used to calculate distance between blocks. L2 is slower than L1 but yields more accurate results. Currently only Haar transform is supported.

     This function expected to be applied to grayscale images. Advanced usage of this function
     can be manual denoising of colored image in different colorspaces.
    
     @sa
     fastNlMeansDenoising
    
  • Performs image denoising using the Block-Matching and 3D-filtering algorithm http://www.cs.tut.fi/~foi/GCF-BM3D/BM3D_TIP_2007.pdf with several computational optimizations. Noise expected to be a gaussian white noise.

    Declaration

    Objective-C

    + (void)bm3dDenoising:(nonnull Mat *)src
                  dstStep1:(nonnull Mat *)dstStep1
                  dstStep2:(nonnull Mat *)dstStep2
                         h:(float)h
        templateWindowSize:(int)templateWindowSize
          searchWindowSize:(int)searchWindowSize
        blockMatchingStep1:(int)blockMatchingStep1
        blockMatchingStep2:(int)blockMatchingStep2
                 groupSize:(int)groupSize
               slidingStep:(int)slidingStep
                      beta:(float)beta;

    Swift

    class func bm3dDenoising(src: Mat, dstStep1: Mat, dstStep2: Mat, h: Float, templateWindowSize: Int32, searchWindowSize: Int32, blockMatchingStep1: Int32, blockMatchingStep2: Int32, groupSize: Int32, slidingStep: Int32, beta: Float)

    Parameters

    src

    Input 8-bit or 16-bit 1-channel image.

    dstStep1

    Output image of the first step of BM3D with the same size and type as src.

    dstStep2

    Output image of the second step of BM3D with the same size and type as src.

    h

    Parameter regulating filter strength. Big h value perfectly removes noise but also removes image details, smaller h value preserves details but also preserves some noise.

    templateWindowSize

    Size in pixels of the template patch that is used for block-matching. Should be power of 2.

    searchWindowSize

    Size in pixels of the window that is used to perform block-matching. Affect performance linearly: greater searchWindowsSize - greater denoising time. Must be larger than templateWindowSize.

    blockMatchingStep1

    Block matching threshold for the first step of BM3D (hard thresholding), i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance.

    blockMatchingStep2

    Block matching threshold for the second step of BM3D (Wiener filtering), i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance.

    groupSize

    Maximum size of the 3D group for collaborative filtering.

    slidingStep

    Sliding step to process every next reference block.

    beta

    Kaiser window parameter that affects the sidelobe attenuation of the transform of the window. Kaiser window is used in order to reduce border effects. To prevent usage of the window, set beta to zero. but yields more accurate results. Currently only Haar transform is supported.

     This function expected to be applied to grayscale images. Advanced usage of this function
     can be manual denoising of colored image in different colorspaces.
    
     @sa
     fastNlMeansDenoising
    
  • Performs image denoising using the Block-Matching and 3D-filtering algorithm http://www.cs.tut.fi/~foi/GCF-BM3D/BM3D_TIP_2007.pdf with several computational optimizations. Noise expected to be a gaussian white noise.

    Declaration

    Objective-C

    + (void)bm3dDenoising:(nonnull Mat *)src
                  dstStep1:(nonnull Mat *)dstStep1
                  dstStep2:(nonnull Mat *)dstStep2
                         h:(float)h
        templateWindowSize:(int)templateWindowSize
          searchWindowSize:(int)searchWindowSize
        blockMatchingStep1:(int)blockMatchingStep1
        blockMatchingStep2:(int)blockMatchingStep2
                 groupSize:(int)groupSize
               slidingStep:(int)slidingStep;

    Swift

    class func bm3dDenoising(src: Mat, dstStep1: Mat, dstStep2: Mat, h: Float, templateWindowSize: Int32, searchWindowSize: Int32, blockMatchingStep1: Int32, blockMatchingStep2: Int32, groupSize: Int32, slidingStep: Int32)

    Parameters

    src

    Input 8-bit or 16-bit 1-channel image.

    dstStep1

    Output image of the first step of BM3D with the same size and type as src.

    dstStep2

    Output image of the second step of BM3D with the same size and type as src.

    h

    Parameter regulating filter strength. Big h value perfectly removes noise but also removes image details, smaller h value preserves details but also preserves some noise.

    templateWindowSize

    Size in pixels of the template patch that is used for block-matching. Should be power of 2.

    searchWindowSize

    Size in pixels of the window that is used to perform block-matching. Affect performance linearly: greater searchWindowsSize - greater denoising time. Must be larger than templateWindowSize.

    blockMatchingStep1

    Block matching threshold for the first step of BM3D (hard thresholding), i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance.

    blockMatchingStep2

    Block matching threshold for the second step of BM3D (Wiener filtering), i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance.

    groupSize

    Maximum size of the 3D group for collaborative filtering.

    slidingStep

    Sliding step to process every next reference block. window. Kaiser window is used in order to reduce border effects. To prevent usage of the window, set beta to zero. but yields more accurate results. Currently only Haar transform is supported.

     This function expected to be applied to grayscale images. Advanced usage of this function
     can be manual denoising of colored image in different colorspaces.
    
     @sa
     fastNlMeansDenoising
    
  • Performs image denoising using the Block-Matching and 3D-filtering algorithm http://www.cs.tut.fi/~foi/GCF-BM3D/BM3D_TIP_2007.pdf with several computational optimizations. Noise expected to be a gaussian white noise.

    Declaration

    Objective-C

    + (void)bm3dDenoising:(nonnull Mat *)src
                  dstStep1:(nonnull Mat *)dstStep1
                  dstStep2:(nonnull Mat *)dstStep2
                         h:(float)h
        templateWindowSize:(int)templateWindowSize
          searchWindowSize:(int)searchWindowSize
        blockMatchingStep1:(int)blockMatchingStep1
        blockMatchingStep2:(int)blockMatchingStep2
                 groupSize:(int)groupSize;

    Swift

    class func bm3dDenoising(src: Mat, dstStep1: Mat, dstStep2: Mat, h: Float, templateWindowSize: Int32, searchWindowSize: Int32, blockMatchingStep1: Int32, blockMatchingStep2: Int32, groupSize: Int32)

    Parameters

    src

    Input 8-bit or 16-bit 1-channel image.

    dstStep1

    Output image of the first step of BM3D with the same size and type as src.

    dstStep2

    Output image of the second step of BM3D with the same size and type as src.

    h

    Parameter regulating filter strength. Big h value perfectly removes noise but also removes image details, smaller h value preserves details but also preserves some noise.

    templateWindowSize

    Size in pixels of the template patch that is used for block-matching. Should be power of 2.

    searchWindowSize

    Size in pixels of the window that is used to perform block-matching. Affect performance linearly: greater searchWindowsSize - greater denoising time. Must be larger than templateWindowSize.

    blockMatchingStep1

    Block matching threshold for the first step of BM3D (hard thresholding), i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance.

    blockMatchingStep2

    Block matching threshold for the second step of BM3D (Wiener filtering), i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance.

    groupSize

    Maximum size of the 3D group for collaborative filtering. window. Kaiser window is used in order to reduce border effects. To prevent usage of the window, set beta to zero. but yields more accurate results. Currently only Haar transform is supported.

     This function expected to be applied to grayscale images. Advanced usage of this function
     can be manual denoising of colored image in different colorspaces.
    
     @sa
     fastNlMeansDenoising
    
  • Performs image denoising using the Block-Matching and 3D-filtering algorithm http://www.cs.tut.fi/~foi/GCF-BM3D/BM3D_TIP_2007.pdf with several computational optimizations. Noise expected to be a gaussian white noise.

    Declaration

    Objective-C

    + (void)bm3dDenoising:(nonnull Mat *)src
                  dstStep1:(nonnull Mat *)dstStep1
                  dstStep2:(nonnull Mat *)dstStep2
                         h:(float)h
        templateWindowSize:(int)templateWindowSize
          searchWindowSize:(int)searchWindowSize
        blockMatchingStep1:(int)blockMatchingStep1
        blockMatchingStep2:(int)blockMatchingStep2;

    Swift

    class func bm3dDenoising(src: Mat, dstStep1: Mat, dstStep2: Mat, h: Float, templateWindowSize: Int32, searchWindowSize: Int32, blockMatchingStep1: Int32, blockMatchingStep2: Int32)

    Parameters

    src

    Input 8-bit or 16-bit 1-channel image.

    dstStep1

    Output image of the first step of BM3D with the same size and type as src.

    dstStep2

    Output image of the second step of BM3D with the same size and type as src.

    h

    Parameter regulating filter strength. Big h value perfectly removes noise but also removes image details, smaller h value preserves details but also preserves some noise.

    templateWindowSize

    Size in pixels of the template patch that is used for block-matching. Should be power of 2.

    searchWindowSize

    Size in pixels of the window that is used to perform block-matching. Affect performance linearly: greater searchWindowsSize - greater denoising time. Must be larger than templateWindowSize.

    blockMatchingStep1

    Block matching threshold for the first step of BM3D (hard thresholding), i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance.

    blockMatchingStep2

    Block matching threshold for the second step of BM3D (Wiener filtering), i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance. window. Kaiser window is used in order to reduce border effects. To prevent usage of the window, set beta to zero. but yields more accurate results. Currently only Haar transform is supported.

     This function expected to be applied to grayscale images. Advanced usage of this function
     can be manual denoising of colored image in different colorspaces.
    
     @sa
     fastNlMeansDenoising
    
  • Performs image denoising using the Block-Matching and 3D-filtering algorithm http://www.cs.tut.fi/~foi/GCF-BM3D/BM3D_TIP_2007.pdf with several computational optimizations. Noise expected to be a gaussian white noise.

    Declaration

    Objective-C

    + (void)bm3dDenoising:(nonnull Mat *)src
                  dstStep1:(nonnull Mat *)dstStep1
                  dstStep2:(nonnull Mat *)dstStep2
                         h:(float)h
        templateWindowSize:(int)templateWindowSize
          searchWindowSize:(int)searchWindowSize
        blockMatchingStep1:(int)blockMatchingStep1;

    Swift

    class func bm3dDenoising(src: Mat, dstStep1: Mat, dstStep2: Mat, h: Float, templateWindowSize: Int32, searchWindowSize: Int32, blockMatchingStep1: Int32)

    Parameters

    src

    Input 8-bit or 16-bit 1-channel image.

    dstStep1

    Output image of the first step of BM3D with the same size and type as src.

    dstStep2

    Output image of the second step of BM3D with the same size and type as src.

    h

    Parameter regulating filter strength. Big h value perfectly removes noise but also removes image details, smaller h value preserves details but also preserves some noise.

    templateWindowSize

    Size in pixels of the template patch that is used for block-matching. Should be power of 2.

    searchWindowSize

    Size in pixels of the window that is used to perform block-matching. Affect performance linearly: greater searchWindowsSize - greater denoising time. Must be larger than templateWindowSize.

    blockMatchingStep1

    Block matching threshold for the first step of BM3D (hard thresholding), i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance. i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance. window. Kaiser window is used in order to reduce border effects. To prevent usage of the window, set beta to zero. but yields more accurate results. Currently only Haar transform is supported.

     This function expected to be applied to grayscale images. Advanced usage of this function
     can be manual denoising of colored image in different colorspaces.
    
     @sa
     fastNlMeansDenoising
    
  • Performs image denoising using the Block-Matching and 3D-filtering algorithm http://www.cs.tut.fi/~foi/GCF-BM3D/BM3D_TIP_2007.pdf with several computational optimizations. Noise expected to be a gaussian white noise.

    Declaration

    Objective-C

    + (void)bm3dDenoising:(nonnull Mat *)src
                  dstStep1:(nonnull Mat *)dstStep1
                  dstStep2:(nonnull Mat *)dstStep2
                         h:(float)h
        templateWindowSize:(int)templateWindowSize
          searchWindowSize:(int)searchWindowSize;

    Swift

    class func bm3dDenoising(src: Mat, dstStep1: Mat, dstStep2: Mat, h: Float, templateWindowSize: Int32, searchWindowSize: Int32)

    Parameters

    src

    Input 8-bit or 16-bit 1-channel image.

    dstStep1

    Output image of the first step of BM3D with the same size and type as src.

    dstStep2

    Output image of the second step of BM3D with the same size and type as src.

    h

    Parameter regulating filter strength. Big h value perfectly removes noise but also removes image details, smaller h value preserves details but also preserves some noise.

    templateWindowSize

    Size in pixels of the template patch that is used for block-matching. Should be power of 2.

    searchWindowSize

    Size in pixels of the window that is used to perform block-matching. Affect performance linearly: greater searchWindowsSize - greater denoising time. Must be larger than templateWindowSize. i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance. i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance. window. Kaiser window is used in order to reduce border effects. To prevent usage of the window, set beta to zero. but yields more accurate results. Currently only Haar transform is supported.

     This function expected to be applied to grayscale images. Advanced usage of this function
     can be manual denoising of colored image in different colorspaces.
    
     @sa
     fastNlMeansDenoising
    
  • Performs image denoising using the Block-Matching and 3D-filtering algorithm http://www.cs.tut.fi/~foi/GCF-BM3D/BM3D_TIP_2007.pdf with several computational optimizations. Noise expected to be a gaussian white noise.

    Declaration

    Objective-C

    + (void)bm3dDenoising:(nonnull Mat *)src
                  dstStep1:(nonnull Mat *)dstStep1
                  dstStep2:(nonnull Mat *)dstStep2
                         h:(float)h
        templateWindowSize:(int)templateWindowSize;

    Swift

    class func bm3dDenoising(src: Mat, dstStep1: Mat, dstStep2: Mat, h: Float, templateWindowSize: Int32)

    Parameters

    src

    Input 8-bit or 16-bit 1-channel image.

    dstStep1

    Output image of the first step of BM3D with the same size and type as src.

    dstStep2

    Output image of the second step of BM3D with the same size and type as src.

    h

    Parameter regulating filter strength. Big h value perfectly removes noise but also removes image details, smaller h value preserves details but also preserves some noise.

    templateWindowSize

    Size in pixels of the template patch that is used for block-matching. Should be power of 2. Affect performance linearly: greater searchWindowsSize - greater denoising time. Must be larger than templateWindowSize. i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance. i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance. window. Kaiser window is used in order to reduce border effects. To prevent usage of the window, set beta to zero. but yields more accurate results. Currently only Haar transform is supported.

     This function expected to be applied to grayscale images. Advanced usage of this function
     can be manual denoising of colored image in different colorspaces.
    
     @sa
     fastNlMeansDenoising
    
  • Performs image denoising using the Block-Matching and 3D-filtering algorithm http://www.cs.tut.fi/~foi/GCF-BM3D/BM3D_TIP_2007.pdf with several computational optimizations. Noise expected to be a gaussian white noise.

    Declaration

    Objective-C

    + (void)bm3dDenoising:(nonnull Mat *)src
                 dstStep1:(nonnull Mat *)dstStep1
                 dstStep2:(nonnull Mat *)dstStep2
                        h:(float)h;

    Swift

    class func bm3dDenoising(src: Mat, dstStep1: Mat, dstStep2: Mat, h: Float)

    Parameters

    src

    Input 8-bit or 16-bit 1-channel image.

    dstStep1

    Output image of the first step of BM3D with the same size and type as src.

    dstStep2

    Output image of the second step of BM3D with the same size and type as src.

    h

    Parameter regulating filter strength. Big h value perfectly removes noise but also removes image details, smaller h value preserves details but also preserves some noise. Should be power of 2. Affect performance linearly: greater searchWindowsSize - greater denoising time. Must be larger than templateWindowSize. i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance. i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance. window. Kaiser window is used in order to reduce border effects. To prevent usage of the window, set beta to zero. but yields more accurate results. Currently only Haar transform is supported.

     This function expected to be applied to grayscale images. Advanced usage of this function
     can be manual denoising of colored image in different colorspaces.
    
     @sa
     fastNlMeansDenoising
    
  • Performs image denoising using the Block-Matching and 3D-filtering algorithm http://www.cs.tut.fi/~foi/GCF-BM3D/BM3D_TIP_2007.pdf with several computational optimizations. Noise expected to be a gaussian white noise.

    Declaration

    Objective-C

    + (void)bm3dDenoising:(nonnull Mat *)src
                 dstStep1:(nonnull Mat *)dstStep1
                 dstStep2:(nonnull Mat *)dstStep2;

    Swift

    class func bm3dDenoising(src: Mat, dstStep1: Mat, dstStep2: Mat)

    Parameters

    src

    Input 8-bit or 16-bit 1-channel image.

    dstStep1

    Output image of the first step of BM3D with the same size and type as src.

    dstStep2

    Output image of the second step of BM3D with the same size and type as src. removes image details, smaller h value preserves details but also preserves some noise. Should be power of 2. Affect performance linearly: greater searchWindowsSize - greater denoising time. Must be larger than templateWindowSize. i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance. i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance. window. Kaiser window is used in order to reduce border effects. To prevent usage of the window, set beta to zero. but yields more accurate results. Currently only Haar transform is supported.

     This function expected to be applied to grayscale images. Advanced usage of this function
     can be manual denoising of colored image in different colorspaces.
    
     @sa
     fastNlMeansDenoising
    
  • The function implements simple dct-based denoising

     <http://www.ipol.im/pub/art/2011/ys-dct/>.
    

    Declaration

    Objective-C

    + (void)dctDenoising:(nonnull Mat *)src
                     dst:(nonnull Mat *)dst
                   sigma:(double)sigma
                   psize:(int)psize;

    Swift

    class func dctDenoising(src: Mat, dst: Mat, sigma: Double, psize: Int32)

    Parameters

    src

    source image

    dst

    destination image

    sigma

    expected noise standard deviation

    psize

    size of block side where dct is computed

    @sa fastNlMeansDenoising

  • The function implements simple dct-based denoising

     <http://www.ipol.im/pub/art/2011/ys-dct/>.
    

    Declaration

    Objective-C

    + (void)dctDenoising:(nonnull Mat *)src
                     dst:(nonnull Mat *)dst
                   sigma:(double)sigma;

    Swift

    class func dctDenoising(src: Mat, dst: Mat, sigma: Double)

    Parameters

    src

    source image

    dst

    destination image

    sigma

    expected noise standard deviation

    @sa fastNlMeansDenoising

  • The function implements different single-image inpainting algorithms.

     See the original papers CITE: He2012 (Shiftmap) or CITE: GenserPCS2018 and CITE: SeilerTIP2015 (FSR) for details.
    

    Declaration

    Objective-C

    + (void)inpaint:(nonnull Mat *)src
                 mask:(nonnull Mat *)mask
                  dst:(nonnull Mat *)dst
        algorithmType:(int)algorithmType;

    Swift

    class func inpaint(src: Mat, mask: Mat, dst: Mat, algorithmType: Int32)

    Parameters

    src

    source image

    • #INPAINT_SHIFTMAP: it could be of any type and any number of channels from 1 to 4. In case of 3- and 4-channels images the function expect them in CIELab colorspace or similar one, where first color component shows intensity, while second and third shows colors. Nonetheless you can try any colorspaces.
    • #INPAINT_FSR_BEST or #INPAINT_FSR_FAST: 1-channel grayscale or 3-channel BGR image.

    mask

    mask (#CV_8UC1), where non-zero pixels indicate valid image area, while zero pixels indicate area to be inpainted

    dst

    destination image

    algorithmType

    see xphoto::InpaintTypes

  • oilPainting See the book CITE: Holzmann1988 for details.

    Declaration

    Objective-C

    + (void)oilPainting:(nonnull Mat *)src
                    dst:(nonnull Mat *)dst
                   size:(int)size
               dynRatio:(int)dynRatio
                   code:(int)code;

    Swift

    class func oilPainting(src: Mat, dst: Mat, size: Int32, dynRatio: Int32, code: Int32)

    Parameters

    src

    Input three-channel or one channel image (either CV_8UC3 or CV_8UC1)

    dst

    Output image of the same size and type as src.

    size

    neighbouring size is 2-size+1

    dynRatio

    image is divided by dynRatio before histogram processing

  • oilPainting See the book CITE: Holzmann1988 for details.

    Declaration

    Objective-C

    + (void)oilPainting:(nonnull Mat *)src
                    dst:(nonnull Mat *)dst
                   size:(int)size
               dynRatio:(int)dynRatio;

    Swift

    class func oilPainting(src: Mat, dst: Mat, size: Int32, dynRatio: Int32)

    Parameters

    src

    Input three-channel or one channel image (either CV_8UC3 or CV_8UC1)

    dst

    Output image of the same size and type as src.

    size

    neighbouring size is 2-size+1

    dynRatio

    image is divided by dynRatio before histogram processing