We present a new image segmentation algorithm based on graph cuts. Our main tool is separation of each pixel from a special point outside the image by a cut of a minimum cost. Such a cut creates a group of pixels ??? around each pixel. We show that these groups ??? are either disjoint or nested in each other, and so they give a natural segmentation of the image. In addition this property allows an efficient implementation of the algorithm because for most pixels the computation of ??? is not performed on the whole graph. We inspect all ??? 's and discard those which are not interesting, for example if they are too small. This procedure automatically groups small components together or merges them into nearby large clusters. Effectively our segmentation is performed by extracting significant non-intersecting closed contours. We present interesting segmentation results on real and artificial images.