How can I access each superpixel of an image?

3 views (last 30 days)
Algorithms Analyst
Algorithms Analyst on 5 Aug 2015
Commented: Ad on 16 Apr 2017
Hello
I have successfully segmented the superpixels of an image (having size 120x160) using SLIC algorithm. For instance,
segments = vl_slic(img,regionSize, regularizer);
This segments(having size 120x160) contain all the number of superpixels which are segmented from img using SLIC. And I segmented only 50 superpixels.
Now how can I access each superpixel from this segments?
For example, I want to make a cell array (let say l=cell(1,num_superpixels)) and keep all individual superpixels in each cell for further processing.
Any help is appreciated
Thanks in advance!
  2 Comments
SONAM TIPLE
SONAM TIPLE on 25 Mar 2017
Edited: SONAM TIPLE on 25 Mar 2017
segmented_images = cell(1,max(max(L)));
rgb_label = repmat(L,[1 1 3]);
for k = 1:max(max(L)) %L-label matrix
color = im;%im-Color img
color(rgb_label ~= k) = 0; segmented_images{k} = color; end
imshow(segmented_images{1}), title('objects in cluster 1');% this will display your Superpixel or cluster no 1, %this way you can view your individual superpixel %check segmented_images in workspace you will find cell arrays.

Sign in to comment.

Answers (1)

Huan Liang
Huan Liang on 12 Apr 2017
idx=label2idx(L); and then you can use idx{i} to search each superpixel

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!