| OpenCV 4.3.0 Open Source Computer Vision

Public Member Functions | Static Public Member Functions | List of all members
cv::MSER Class Referenceabstract
2D Features Framework » Feature Detection and Description

Maximally stable extremal region extractor. More...

`#include <opencv2/features2d.hpp>`

Inheritance diagram for cv::MSER:

## Public Member Functions
virtual void | detectRegions (InputArray image, std::vector< std::vector< Point > > &msers, std::vector< Rect > &bboxes)=0
| Detect MSER regions. More...
virtual String | getDefaultName () const CV_OVERRIDE
virtual int | getDelta () const =0
virtual int | getMaxArea () const =0
virtual int | getMinArea () const =0
virtual bool | getPass2Only () const =0
virtual void | setDelta (int delta)=0
virtual void | setMaxArea (int maxArea)=0
virtual void | setMinArea (int minArea)=0
virtual void | setPass2Only (bool f)=0
Public Member Functions inherited from cv::Feature2D
virtual | ~Feature2D ()
virtual void | compute (InputArray image, std::vector< KeyPoint > &keypoints, OutputArray descriptors)
| Computes the descriptors for a set of keypoints detected in an image (first variant) or image set (second variant). More...
virtual void | compute (InputArrayOfArrays images, std::vector< std::vector< KeyPoint > > &keypoints, OutputArrayOfArrays descriptors)
virtual int | defaultNorm () const
virtual int | descriptorSize () const
virtual int | descriptorType () const
virtual void | detect (InputArray image, std::vector< KeyPoint > &keypoints, InputArray mask=noArray())
| Detects keypoints in an image (first variant) or image set (second variant). More...
virtual void | detect (InputArrayOfArrays images, std::vector< std::vector< KeyPoint > > &keypoints, InputArrayOfArrays masks=noArray())
virtual void | detectAndCompute (InputArray image, InputArray mask, std::vector< KeyPoint > &keypoints, OutputArray descriptors, bool useProvidedKeypoints=false)
virtual bool | empty () const CV_OVERRIDE
| Return true if detector object is empty. More...
void | read (const String &fileName)
virtual void | read (const FileNode &) CV_OVERRIDE
| Reads algorithm parameters from a file storage. More...
void | write (const String &fileName) const
virtual void | write (FileStorage &) const CV_OVERRIDE
| Stores algorithm parameters in a file storage. More...
void | write (const Ptr< FileStorage > &fs, const String &name=String()) const
Public Member Functions inherited from cv::Algorithm
| Algorithm ()
virtual | ~Algorithm ()
virtual void | clear ()
| Clears the algorithm state. More...
virtual void | save (const String &filename) const
void | write (const Ptr< FileStorage > &fs, const String &name=String()) const
| simplified API for language bindings This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...

## Static Public Member Functions
static Ptr< MSER > | create (int _delta=5, int _min_area=60, int _max_area=14400, double _max_variation=0.25, double _min_diversity=.2, int _max_evolution=200, double _area_threshold=1.01, double _min_margin=0.003, int _edge_blur_size=5)
| Full constructor for MSER detector. More...
Static Public Member Functions inherited from cv::Algorithm
template<typename _Tp >
static Ptr< _Tp > | load (const String &filename, const String &objname=String())
| Loads algorithm from the file. More...
template<typename _Tp >
static Ptr< _Tp > | loadFromString (const String &strModel, const String &objname=String())
| Loads algorithm from a String. More...
template<typename _Tp >
static Ptr< _Tp > | read (const FileNode &fn)
| Reads algorithm from the file node. More...

## Additional Inherited Members
Protected Member Functions inherited from cv::Algorithm
void | writeFormat (FileStorage &fs) const

## Detailed Description

Maximally stable extremal region extractor.

The class encapsulates all the parameters of the MSER extraction algorithm (see wiki article).

- there are two different implementation of MSER: one for grey image, one for color image
- the grey image algorithm is taken from: [177] ; 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: [75] ; it should be much slower than grey image method ( 3~4 times ); the chi_table.h file is taken directly from paper's source code which is distributed under GPL.
- (Python) A complete example showing the use of the MSER detector can be found at samples/python/mser.py

## Member Function Documentation

## ◆ create()

static Ptr<MSER> cv::MSER::create | ( | int | _delta = `5`,
|  | int | _min_area = `60`,
|  | int | _max_area = `14400`,
|  | double | _max_variation = `0.25`,
|  | double | _min_diversity = `.2`,
|  | int | _max_evolution = `200`,
|  | double | _area_threshold = `1.01`,
|  | double | _min_margin = `0.003`,
|  | int | _edge_blur_size = `5`
| ) |  |
| static

Python:
| retval | = | cv.MSER_create( | [, _delta[, _min_area[, _max_area[, _max_variation[, _min_diversity[, _max_evolution[, _area_threshold[, _min_margin[, _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

## ◆ detectRegions()

virtual void cv::MSER::detectRegions | ( | InputArray | image,
|  | std::vector< std::vector< Point > > & | msers,
|  | std::vector< Rect > & | bboxes
| ) |  |
| pure virtual

Python:
| msers, bboxes | = | cv.MSER.detectRegions( | image | )

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

## ◆ getDefaultName()

virtual String cv::MSER::getDefaultName | ( |  | ) | const
| virtual

Python:
| retval | = | cv.MSER.getDefaultName( |  | )

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.

Reimplemented from cv::Feature2D.

## ◆ getDelta()

virtual int cv::MSER::getDelta | ( |  | ) | const
| pure virtual

Python:
| retval | = | cv.MSER.getDelta( |  | )

## ◆ getMaxArea()

virtual int cv::MSER::getMaxArea | ( |  | ) | const
| pure virtual

Python:
| retval | = | cv.MSER.getMaxArea( |  | )

## ◆ getMinArea()

virtual int cv::MSER::getMinArea | ( |  | ) | const
| pure virtual

Python:
| retval | = | cv.MSER.getMinArea( |  | )

## ◆ getPass2Only()

virtual bool cv::MSER::getPass2Only | ( |  | ) | const
| pure virtual

Python:
| retval | = | cv.MSER.getPass2Only( |  | )

## ◆ setDelta()

virtual void cv::MSER::setDelta | ( | int | delta | ) |
| pure virtual

Python:
| None | = | cv.MSER.setDelta( | delta | )

## ◆ setMaxArea()

virtual void cv::MSER::setMaxArea | ( | int | maxArea | ) |
| pure virtual

Python:
| None | = | cv.MSER.setMaxArea( | maxArea | )

## ◆ setMinArea()

virtual void cv::MSER::setMinArea | ( | int | minArea | ) |
| pure virtual

Python:
| None | = | cv.MSER.setMinArea( | minArea | )

## ◆ setPass2Only()

virtual void cv::MSER::setPass2Only | ( | bool | f | ) |
| pure virtual

Python:
| None | = | cv.MSER.setPass2Only( | f | )

The documentation for this class was generated from the following file:

- opencv2/features2d.hpp