OpenCV 4.10.0-dev
Open Source Computer Vision
Loading...
Searching...
No Matches
cv::MSER Class Referenceabstract

Maximally stable extremal region extractor. More...

#include <opencv2/features2d.hpp>

Collaboration 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.
 
virtual double getAreaThreshold () const =0
 
virtual String getDefaultName () const CV_OVERRIDE
 
virtual int getDelta () const =0
 
virtual int getEdgeBlurSize () const =0
 
virtual int getMaxArea () const =0
 
virtual int getMaxEvolution () const =0
 
virtual double getMaxVariation () const =0
 
virtual int getMinArea () const =0
 
virtual double getMinDiversity () const =0
 
virtual double getMinMargin () const =0
 
virtual bool getPass2Only () const =0
 
virtual void setAreaThreshold (double areaThreshold)=0
 
virtual void setDelta (int delta)=0
 
virtual void setEdgeBlurSize (int edge_blur_size)=0
 
virtual void setMaxArea (int maxArea)=0
 
virtual void setMaxEvolution (int maxEvolution)=0
 
virtual void setMaxVariation (double maxVariation)=0
 
virtual void setMinArea (int minArea)=0
 
virtual void setMinDiversity (double minDiversity)=0
 
virtual void setMinMargin (double min_margin)=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).
 
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).
 
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.
 
virtual void read (const FileNode &) CV_OVERRIDE
 Reads algorithm parameters from a file storage.
 
void read (const String &fileName)
 
void write (const Ptr< FileStorage > &fs, const String &name) const
 
void write (const String &fileName) const
 
virtual void write (FileStorage &) const CV_OVERRIDE
 Stores algorithm parameters in a file storage.
 
void write (FileStorage &fs, const String &name) const
 
- Public Member Functions inherited from cv::Algorithm
 Algorithm ()
 
virtual ~Algorithm ()
 
virtual void clear ()
 Clears the algorithm state.
 
virtual void save (const String &filename) const
 
void write (const Ptr< FileStorage > &fs, const String &name=String()) const
 
void write (FileStorage &fs, const String &name) const
 

Static Public Member Functions

static Ptr< MSERcreate (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.
 
- Static Public Member Functions inherited from cv::Algorithm
template<typename _Tp >
static Ptr< _Tpload (const String &filename, const String &objname=String())
 Loads algorithm from the file.
 
template<typename _Tp >
static Ptr< _TploadFromString (const String &strModel, const String &objname=String())
 Loads algorithm from a String.
 
template<typename _Tp >
static Ptr< _Tpread (const FileNode &fn)
 Reads algorithm from the file node.
 

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: [208] ; 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: [94] ; 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

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:
cv.MSER.create([, delta[, min_area[, max_area[, max_variation[, min_diversity[, max_evolution[, area_threshold[, min_margin[, edge_blur_size]]]]]]]]]) -> retval
cv.MSER_create([, delta[, min_area[, max_area[, max_variation[, min_diversity[, max_evolution[, area_threshold[, min_margin[, edge_blur_size]]]]]]]]]) -> retval

Full constructor for MSER detector.

Parameters
deltait compares \((size_{i}-size_{i-delta})/size_{i-delta}\)
min_areaprune the area which smaller than minArea
max_areaprune the area which bigger than maxArea
max_variationprune the area have similar size to its children
min_diversityfor color image, trace back to cut off mser with diversity less than min_diversity
max_evolutionfor color image, the evolution steps
area_thresholdfor color image, the area threshold to cause re-initialize
min_marginfor color image, ignore too small margin
edge_blur_sizefor 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:
cv.MSER.detectRegions(image) -> msers, bboxes

Detect MSER regions.

Parameters
imageinput image (8UC1, 8UC3 or 8UC4, must be greater or equal than 3x3)
msersresulting list of point sets
bboxesresulting bounding boxes

◆ getAreaThreshold()

virtual double cv::MSER::getAreaThreshold ( ) const
pure virtual
Python:
cv.MSER.getAreaThreshold() -> retval

◆ getDefaultName()

virtual String cv::MSER::getDefaultName ( ) const
virtual
Python:
cv.MSER.getDefaultName() -> retval

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:
cv.MSER.getDelta() -> retval

◆ getEdgeBlurSize()

virtual int cv::MSER::getEdgeBlurSize ( ) const
pure virtual
Python:
cv.MSER.getEdgeBlurSize() -> retval

◆ getMaxArea()

virtual int cv::MSER::getMaxArea ( ) const
pure virtual
Python:
cv.MSER.getMaxArea() -> retval

◆ getMaxEvolution()

virtual int cv::MSER::getMaxEvolution ( ) const
pure virtual
Python:
cv.MSER.getMaxEvolution() -> retval

◆ getMaxVariation()

virtual double cv::MSER::getMaxVariation ( ) const
pure virtual
Python:
cv.MSER.getMaxVariation() -> retval

◆ getMinArea()

virtual int cv::MSER::getMinArea ( ) const
pure virtual
Python:
cv.MSER.getMinArea() -> retval

◆ getMinDiversity()

virtual double cv::MSER::getMinDiversity ( ) const
pure virtual
Python:
cv.MSER.getMinDiversity() -> retval

◆ getMinMargin()

virtual double cv::MSER::getMinMargin ( ) const
pure virtual
Python:
cv.MSER.getMinMargin() -> retval

◆ getPass2Only()

virtual bool cv::MSER::getPass2Only ( ) const
pure virtual
Python:
cv.MSER.getPass2Only() -> retval

◆ setAreaThreshold()

virtual void cv::MSER::setAreaThreshold ( double areaThreshold)
pure virtual
Python:
cv.MSER.setAreaThreshold(areaThreshold) -> None

◆ setDelta()

virtual void cv::MSER::setDelta ( int delta)
pure virtual
Python:
cv.MSER.setDelta(delta) -> None

◆ setEdgeBlurSize()

virtual void cv::MSER::setEdgeBlurSize ( int edge_blur_size)
pure virtual
Python:
cv.MSER.setEdgeBlurSize(edge_blur_size) -> None

◆ setMaxArea()

virtual void cv::MSER::setMaxArea ( int maxArea)
pure virtual
Python:
cv.MSER.setMaxArea(maxArea) -> None

◆ setMaxEvolution()

virtual void cv::MSER::setMaxEvolution ( int maxEvolution)
pure virtual
Python:
cv.MSER.setMaxEvolution(maxEvolution) -> None

◆ setMaxVariation()

virtual void cv::MSER::setMaxVariation ( double maxVariation)
pure virtual
Python:
cv.MSER.setMaxVariation(maxVariation) -> None

◆ setMinArea()

virtual void cv::MSER::setMinArea ( int minArea)
pure virtual
Python:
cv.MSER.setMinArea(minArea) -> None

◆ setMinDiversity()

virtual void cv::MSER::setMinDiversity ( double minDiversity)
pure virtual
Python:
cv.MSER.setMinDiversity(minDiversity) -> None

◆ setMinMargin()

virtual void cv::MSER::setMinMargin ( double min_margin)
pure virtual
Python:
cv.MSER.setMinMargin(min_margin) -> None

◆ setPass2Only()

virtual void cv::MSER::setPass2Only ( bool f)
pure virtual
Python:
cv.MSER.setPass2Only(f) -> None

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