Computer Vision System ToolBox 'detectMSERFeatures'

3 views (last 30 days)
I have been using 'detectMSERFeatures' function of Computer Vision System ToolBox with all of three paramters 'ThresholdDelta', 'RegionAreaRange' and 'MaxAreaVariaton' for 8 bit or 16 bit gray scale image files. I am planning to use the function for analyzing large number of images in different scales. So, I am looking for a way to pass values for these arguments automatically. I have managed it successfully for 'RegionAreaRange' so far but stuck in other two parameters. My plan is analysing image intensity spectrum and find parameter values for 'ThresholdDelta' and 'MaxAreaVariation'.
I have three questions with regard to this issue :
1. I could not be able to understand the parameters explained in help document of MATLAB except for 'RegionAreaRange'. It would be great if you can explain them in a different way.
2. In help document of the function 'detectMSERFeatures', it is mentioned that value for 'ThresholdDelta' can be scalar between 0 to 100 and that the typical values are between 0.8 to 4. What is exaclty 0.8 or 4. What are their unit(percentage)? I mean how can you calculate them(0.8 or 4) for 8 bit image let's say intensity values in a range(5 - 224) or 16 bit image?
3. The same question for 'MaxAreaVariation'. How can you calculate 0.1 or 1? in terms of number of pixel difference between two threshold levels? In other words, what is the math behind it's calculation?
Thank you for your interest and helps in advance.

Accepted Answer

Birju Patel
Birju Patel on 6 Mar 2015
Edited: Birju Patel on 6 Mar 2015
The ThresholdDelta is a percentage. For example in an 8-bit image, a value of 4 percent means the threshold increment used within the MSER algorithm is 255 * 0.04 = ~10. For a 16-bit image, this would be 65535 * 0.04 = ~2621.
The MaxAreaVariation is a ratio that defines the relative change in the area of a region over successive threshold increments: R(t+1)-R(t)/R(t). So a value of 1.0 means the region area doubled between successive threshold increments.
Check out the algorithm section on the ref page, there is an explanation of these two parameters that might help clarify how they work:
Regarding the calculation of these parameters...There isn't a good way to calculate these values for a given set of images. It really depends on the content of the images. Your best bet is to use a subset of your images and try to find a good set of parameter values that work for your application. Then you can use those parameter values to process your entire dataset.
Hope that helps.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!