MATLAB: Sort pixelIdxList Array as descending order based on their number of pixels.

blob analysisconnected componentsimage processingImage Processing Toolboximage segmentation

numPixels = cellfun(@numel,CC.PixelIdxList);
numPixels =
1015 951 719 852 760 550 503
I want to sort this value and their indexes also. how can I do this?

Best Answer

Not sure who told you that convoluted complicated way of determining the number of pixels in the labeled objects. You can do this so much easier by doing this:
props = regionprops(CC, 'Area');
sortedAreas = sort([props.Area], 'descend'); % Areas = "numPixels"