Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

How does it work OpenCV Mser for color images?

I am using OpenCV Mser class.
For grayscale images I don't have any problems, reults are good and parameters defined in documentation influences to algorithm logically :

  • delta - it compares (sizei−sizei−delta)/sizei−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 simliar size to its children

But I have problems with Mser for color images. I have looked to the source code and didn't find separate implementation for colored images(here is link of source code:[https://github.com/Itseez/opencv/blob/master/modules/features2d/src/mser.cpp]). The main important thing to understand if it finds regions by using threshold levels of an image, what is the equation for the "delta" parameter, it should be different from equation defined for gray images. If it uses another algorithm, the exact meanings of the parameters mentioned below :

  • maxEvolution; //! for color image, the evolution steps
  • areaThreshold; //! the area threshold to cause re-initialize
  • minMargin; //! ignore too small margin

because result of function for color images isn't descriptive, there are a lot of regions and it's hard to udnerstand how algorithm works.

How does it work OpenCV Mser for color images?

I am using OpenCV Mser class.
For grayscale images I don't have any problems, reults are good and parameters defined in documentation influences to algorithm logically :

  • delta - it compares (sizei−sizei−delta)/sizei−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 simliar size to its children

But I have problems with Mser for color images. I have looked to the source code and didn't find separate implementation for colored images(here is link of source code:[https://github.com/Itseez/opencv/blob/master/modules/features2d/src/mser.cpp]). code: https://github.com/Itseez/opencv/blob/master/modules/features2d/src/mser.cpp ). The main important thing to understand if it finds regions by using threshold levels of an image, what is the equation for the "delta" parameter, it should be different from equation defined for gray images. If it uses another algorithm, the exact meanings of the parameters mentioned below :

  • maxEvolution; //! for color image, the evolution steps
  • areaThreshold; //! the area threshold to cause re-initialize
  • minMargin; //! ignore too small margin

because result of function for color images isn't descriptive, there are a lot of regions and it's hard to udnerstand how algorithm works.