Package org.opencv.features

## Class MSER

- java.lang.Object
- - org.opencv.core.Algorithm
  - - org.opencv.features.Feature2D
    - - org.opencv.features.MSER

-     public class MSER
      extends Feature2D

  Maximally stable extremal region extractor The class encapsulates all the parameters of the %MSER extraction algorithm (see [wiki article](http://en.wikipedia.org/wiki/Maximally_stable_extremal_regions)).
  - there are two different implementation of %MSER: one for grey image, one for color image
  - the grey image algorithm is taken from: CITE: nister2008linear ; the paper claims to be faster than union-find method; it actually get 1.5~2m/s on my centrino L7200 1.2GHz laptop.
  - the color image algorithm is taken from: CITE: forssen2007maximally ; it should be much slower than grey image method ( 3~4 times )
  - (Python) A complete example showing the use of the %MSER detector can be found at samples/python/mser.py

- - ### Field Summary

    - ### Fields inherited from class org.opencv.core.Algorithm

      `nativeObj`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `MSER​(long addr)` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static MSER` | `__fromPtr__​(long addr)` |
    `static MSER` | `create()` | Full constructor for %MSER detector
    `static MSER` | `create​(int delta)` | Full constructor for %MSER detector
    `static MSER` | `create​(int delta, int min_area)` | Full constructor for %MSER detector
    `static MSER` | `create​(int delta, int min_area, int max_area)` | Full constructor for %MSER detector
    `static MSER` | `create​(int delta, int min_area, int max_area, double max_variation)` | Full constructor for %MSER detector
    `static MSER` | `create​(int delta, int min_area, int max_area, double max_variation, double min_diversity)` | Full constructor for %MSER detector
    `static MSER` | `create​(int delta, int min_area, int max_area, double max_variation, double min_diversity, int max_evolution)` | Full constructor for %MSER detector
    `static MSER` | `create​(int delta, int min_area, int max_area, double max_variation, double min_diversity, int max_evolution, double area_threshold)` | Full constructor for %MSER detector
    `static MSER` | `create​(int delta, int min_area, int max_area, double max_variation, double min_diversity, int max_evolution, double area_threshold, double min_margin)` | Full constructor for %MSER detector
    `static MSER` | `create​(int delta, int min_area, int max_area, double max_variation, double min_diversity, int max_evolution, double area_threshold, double min_margin, int edge_blur_size)` | Full constructor for %MSER detector
    `void` | `detectRegions​(Mat image, java.util.List<MatOfPoint> msers, MatOfRect bboxes)` | Detect %MSER regions
    `protected void` | `finalize()` |
    `double` | `getAreaThreshold()` |
    `java.lang.String` | `getDefaultName()` | Returns the algorithm string identifier.
    `int` | `getDelta()` |
    `int` | `getEdgeBlurSize()` |
    `int` | `getMaxArea()` |
    `int` | `getMaxEvolution()` |
    `double` | `getMaxVariation()` |
    `int` | `getMinArea()` |
    `double` | `getMinDiversity()` |
    `double` | `getMinMargin()` |
    `boolean` | `getPass2Only()` |
    `void` | `setAreaThreshold​(double areaThreshold)` |
    `void` | `setDelta​(int delta)` |
    `void` | `setEdgeBlurSize​(int edge_blur_size)` |
    `void` | `setMaxArea​(int maxArea)` |
    `void` | `setMaxEvolution​(int maxEvolution)` |
    `void` | `setMaxVariation​(double maxVariation)` |
    `void` | `setMinArea​(int minArea)` |
    `void` | `setMinDiversity​(double minDiversity)` |
    `void` | `setMinMargin​(double min_margin)` |
    `void` | `setPass2Only​(boolean f)` |

    - ### Methods inherited from class org.opencv.features.Feature2D

      `compute, compute, defaultNorm, descriptorSize, descriptorType, detect, detect, detect, detect, detectAndCompute, detectAndCompute, empty, read, write`

    - ### Methods inherited from class org.opencv.core.Algorithm

      `clear, getNativeObjAddr, save`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### MSER

          protected MSER​(long addr)

  - ### Method Detail

    - #### __fromPtr__

          public static MSER __fromPtr__​(long addr)

    - #### create

          public static MSER create​(int delta,
                                    int min_area,
                                    int max_area,
                                    double max_variation,
                                    double min_diversity,
                                    int max_evolution,
                                    double area_threshold,
                                    double min_margin,
                                    int edge_blur_size)

      Full constructor for %MSER detector
      Parameters:
        `delta` - it compares \((size_{i}-size_{i-delta})/size_{i-delta}\)
        `min_area` - prune the area which smaller than minArea
        `max_area` - prune the area which bigger than maxArea
        `max_variation` - prune the area have similar size to its children
        `min_diversity` - for color image, trace back to cut off mser with diversity less than min_diversity
        `max_evolution` - for color image, the evolution steps
        `area_threshold` - for color image, the area threshold to cause re-initialize
        `min_margin` - for color image, ignore too small margin
        `edge_blur_size` - for color image, the aperture size for edge blur
      Returns:
        automatically generated

    - #### create

          public static MSER create​(int delta,
                                    int min_area,
                                    int max_area,
                                    double max_variation,
                                    double min_diversity,
                                    int max_evolution,
                                    double area_threshold,
                                    double min_margin)

      Full constructor for %MSER detector
      Parameters:
        `delta` - it compares \((size_{i}-size_{i-delta})/size_{i-delta}\)
        `min_area` - prune the area which smaller than minArea
        `max_area` - prune the area which bigger than maxArea
        `max_variation` - prune the area have similar size to its children
        `min_diversity` - for color image, trace back to cut off mser with diversity less than min_diversity
        `max_evolution` - for color image, the evolution steps
        `area_threshold` - for color image, the area threshold to cause re-initialize
        `min_margin` - for color image, ignore too small margin
      Returns:
        automatically generated

    - #### create

          public static MSER create​(int delta,
                                    int min_area,
                                    int max_area,
                                    double max_variation,
                                    double min_diversity,
                                    int max_evolution,
                                    double area_threshold)

      Full constructor for %MSER detector
      Parameters:
        `delta` - it compares \((size_{i}-size_{i-delta})/size_{i-delta}\)
        `min_area` - prune the area which smaller than minArea
        `max_area` - prune the area which bigger than maxArea
        `max_variation` - prune the area have similar size to its children
        `min_diversity` - for color image, trace back to cut off mser with diversity less than min_diversity
        `max_evolution` - for color image, the evolution steps
        `area_threshold` - for color image, the area threshold to cause re-initialize
      Returns:
        automatically generated

    - #### create

          public static MSER create​(int delta,
                                    int min_area,
                                    int max_area,
                                    double max_variation,
                                    double min_diversity,
                                    int max_evolution)

      Full constructor for %MSER detector
      Parameters:
        `delta` - it compares \((size_{i}-size_{i-delta})/size_{i-delta}\)
        `min_area` - prune the area which smaller than minArea
        `max_area` - prune the area which bigger than maxArea
        `max_variation` - prune the area have similar size to its children
        `min_diversity` - for color image, trace back to cut off mser with diversity less than min_diversity
        `max_evolution` - for color image, the evolution steps
      Returns:
        automatically generated

    - #### create

          public static MSER create​(int delta,
                                    int min_area,
                                    int max_area,
                                    double max_variation,
                                    double min_diversity)

      Full constructor for %MSER detector
      Parameters:
        `delta` - it compares \((size_{i}-size_{i-delta})/size_{i-delta}\)
        `min_area` - prune the area which smaller than minArea
        `max_area` - prune the area which bigger than maxArea
        `max_variation` - prune the area have similar size to its children
        `min_diversity` - for color image, trace back to cut off mser with diversity less than min_diversity
      Returns:
        automatically generated

    - #### create

          public static MSER create​(int delta,
                                    int min_area,
                                    int max_area,
                                    double max_variation)

      Full constructor for %MSER detector
      Parameters:
        `delta` - it compares \((size_{i}-size_{i-delta})/size_{i-delta}\)
        `min_area` - prune the area which smaller than minArea
        `max_area` - prune the area which bigger than maxArea
        `max_variation` - prune the area have similar size to its children
      Returns:
        automatically generated

    - #### create

          public static MSER create​(int delta,
                                    int min_area,
                                    int max_area)

      Full constructor for %MSER detector
      Parameters:
        `delta` - it compares \((size_{i}-size_{i-delta})/size_{i-delta}\)
        `min_area` - prune the area which smaller than minArea
        `max_area` - prune the area which bigger than maxArea
      Returns:
        automatically generated

    - #### create

          public static MSER create​(int delta,
                                    int min_area)

      Full constructor for %MSER detector
      Parameters:
        `delta` - it compares \((size_{i}-size_{i-delta})/size_{i-delta}\)
        `min_area` - prune the area which smaller than minArea
      Returns:
        automatically generated

    - #### create

          public static MSER create​(int delta)

      Full constructor for %MSER detector
      Parameters:
        `delta` - it compares \((size_{i}-size_{i-delta})/size_{i-delta}\)
      Returns:
        automatically generated

    - #### create

          public static MSER create()

      Full constructor for %MSER detector
      Returns:
        automatically generated

    - #### detectRegions

          public void detectRegions​(Mat image,
                                    java.util.List<MatOfPoint> msers,
                                    MatOfRect bboxes)

      Detect %MSER regions
      Parameters:
        `image` - input image (8UC1, 8UC3 or 8UC4, must be greater or equal than 3x3)
        `msers` - resulting list of point sets
        `bboxes` - resulting bounding boxes

    - #### setDelta

          public void setDelta​(int delta)

    - #### getDelta

          public int getDelta()

    - #### setMinArea

          public void setMinArea​(int minArea)

    - #### getMinArea

          public int getMinArea()

    - #### setMaxArea

          public void setMaxArea​(int maxArea)

    - #### getMaxArea

          public int getMaxArea()

    - #### setMaxVariation

          public void setMaxVariation​(double maxVariation)

    - #### getMaxVariation

          public double getMaxVariation()

    - #### setMinDiversity

          public void setMinDiversity​(double minDiversity)

    - #### getMinDiversity

          public double getMinDiversity()

    - #### setMaxEvolution

          public void setMaxEvolution​(int maxEvolution)

    - #### getMaxEvolution

          public int getMaxEvolution()

    - #### setAreaThreshold

          public void setAreaThreshold​(double areaThreshold)

    - #### getAreaThreshold

          public double getAreaThreshold()

    - #### setMinMargin

          public void setMinMargin​(double min_margin)

    - #### getMinMargin

          public double getMinMargin()

    - #### setEdgeBlurSize

          public void setEdgeBlurSize​(int edge_blur_size)

    - #### getEdgeBlurSize

          public int getEdgeBlurSize()

    - #### setPass2Only

          public void setPass2Only​(boolean f)

    - #### getPass2Only

          public boolean getPass2Only()

    - #### getDefaultName

          public java.lang.String getDefaultName()

      Description copied from class: `Algorithm`
      Returns the algorithm string identifier. This string is used as top level xml/yml node tag when the object is saved to a file or string.
      Overrides:
        `getDefaultName` in class `Feature2D`
      Returns:
        automatically generated

    - #### finalize

          protected void finalize()
                           throws java.lang.Throwable

      Overrides:
        `finalize` in class `Feature2D`
      Throws:
        `java.lang.Throwable`