Python connected components with pixel list

2019-02-27 12:39发布

问题:

In matlab you can use

cc = bwconncomp(bimg);
pixels = cc.PixelIdxList{i}

To get pixel list of each connected components. What's the python equivalent? I tried

from skimage import measure
label = measure.label(bimg)

To get the labels, however, this does not come with pixel list.
Any suggestions?

回答1:

The regionprops function in scikit-image returns the property "coords", an (N, 2) ndarray coordinate list (row, col) of the region. I ran into the same problem and am using this to get the pixel list from the label array.



回答2:

To get pixel list of a connected component with some_label (e.g. some_label=1), if you have a labeled image:

pixels = numpy.argwhere(labeled_image == some_label)

See numpy.argwhere.

And see also this similar question.