Statistical region merging

Statistical region merging (SRM) is an algorithm used for image segmentation. The algorithm is used to evaluate the values within a regional span and grouped together based on the merging criteria, resulting in a smaller list. Some useful examples are creating a group of generations within a population, or in image processing, grouping a number of neighboring pixels based on their shades that fall within a particular threshold (Qualification Criteria).

For example, with 10 values of x (1.7, 1.8, 1.9, 3.2, 4.9, 5.1, 5.3, 5.6, 9, 10) within a range of 0 < x < 10, there can be a statistical region-merging algorithm that defines a merging criteria that can be applied to merge the given values into a smaller number of values.

For the given values, if the merging criterion is merely a threshold check which states that the distance of the selected values should be within 0.3 range and an average should be applied, then the result of the above values of x will be:

(1.7 + 1.8 + 1.9) / 3 = 5.4 / 3 = 1.8 3.2 = 3.2 / 1 = 3.2 4.9 = 4.9 / 1 = 4.9 (5.1 + 5.2 + 5.3) / 3 = 15.6 / 3 = 5.2 5.6 = 5.6 / 1 = 5.6 9 = 9 / 1 = 9 10 = 10 / 1 = 10

Thus, the resultant set will be 1.8, 3.2, 4.9, 5.2, 5.6, 9, 10. Note the result on SRM varies, based on the order in which the values are evaluated by the algorithm.

A major use of SRM is in image processing where higher number color palettes in an image are converted into lower number palettes by merging the similar colors' palettes together. The merging criteria include allowed color ranges, minimum size of a region, maximum size of a region, allowed number of platelets, etc.

There are several implementations available of SRM for color image segmentation: Java, Matlab, Python, and a demo applet.

SRM has been used in many image applications, like ClickRemoval and Volume Catcher.