Image segmentation - starting points

I am programming an image segmentation program. For this purpose I am using a multi-resolution algorithm. It works partially but one problem remains. 
In literature I found the following description of my problem: 

For the maintenance of a similar size/scale of all image objects it is necessary to let them grow in a simultaneous way. This can be achieved by choosing a sequence of starting points which fulfills the following two conditions (for each object taken into account the procedure performs one merge):
1. Handle each point respectively each object once per cycle
2. Distribute subsequent merges as far as possible from each other over the whole scene.
A simple approximate solution for this problem is a procedure which handles each segment in the scene in a random sequence. It turns out that such a random sequence is sub optimal due to the percolation patterns or clusters which increasingly appear, starting at a certain density of points. Better procedures are sequences which are systematically taking points with maximum distance to all other points treated before. Such a procedure can for instance be derived from a dither matrix produced by a binary counter 

Has anyone an idea what a dither matrix produced by a binary counter is? And how I should program this in cpp? 
All other solutions to my problem are also welcome. 

Global mutual best fitting is the most common solution to such an optimization problem but has the disadvantage that it builds initial segments in regions of low spectral variance, resulting in uneven growth of image objects across the scene

To counter this, FNEA incorporates local mutual best fitting which always undertakes the most homogeneous merge in the local vicinity, following the gradient of best fitting. An arbitrary starting
point is required and, to ensure simultaneous growth of similar sized objects, it is necessary that
each object is treated once per iteration and that subsequent merges are distributed as far away
as possible from each other over the whole scene. The application of a random sequence here is
sub-optimal because clustering can occur. Consequently, a distributed treatment order derived from
a dither matrix generated by a binary counter, which systematically takes points with a maximum
distance to all other points treated previously, is implemented in FNEA.
Starting with single pixel objects, pairwise merging will evidently increase the heterogeneity.
The aim of the optimization procedure is to minimize the incorporated heterogeneity at each single
merge. An image object should, therefore, be merged with the adjacent object that incorporates
the minimum increase in defined heterogeneity. To assess this, the ‘merging cost’ representing
the ‘degree of fitting’ for every possible pair of adjacent objects is described by the change in
heterogeneity (h) before and after a virtual merge (mg). The spectral criterion (hcolor
) is the

posted @ 2012-04-08 09:46  hailong  阅读(314)  评论(0编辑  收藏  举报