How do we know what are the superpixels connected to each other ?

6 次查看(过去 30 天)
I am using SLIC superpixel algorithm. How to create adjacency matrix for superpixels? How do we know what are the superpixels connected to each other?
Thanks in advance

回答(2 个)

Image Analyst
Image Analyst 2017-4-23
You can use GLCM - the Gray Level Cooccurrence Matrix, done by graycomatrix(). It tells you which gray levels are next to which other gray levels. I attached a demo.
  2 个评论
Ad
Ad 2017-4-23
I have used GLCM. I got result like this.
graystats.Correlation,0.056197194015968
graystats.Energy,0.985076430158353
graystats.Homogeneity,0.245757011433993;
graystats.Contrast,0.992415460185401
Q. How do I know the connected superpixels?
GLCMS2= graycomatrix(rgbtogray);% it is accepting 2D images only
graystats = graycoprops(GLCMS2,{'all'});
Image Analyst
Image Analyst 2017-4-23
You don't need the stats. Just look at the matrix and see what locations have non-zero pixel pair counts. It says what label is next to what other label.
2 is next to 3, 4, 5, and 6
3 is next to 2, 4, 5, 6, and 7
4 is next to 2, 3, 5, and 6
and so on.

请先登录,再进行评论。


Casio Uploader
Casio Uploader 2018-6-9
编辑:Casio Uploader 2018-6-9
glcms=graycomatrix(L); % 'L' is Labled Image output of SLIC superpixel algorithm
kkkk=glcms(:,SupNum); %if you want to find neibours of 1,then input SupNum=1 in both places
[rrrr,~]=find(kkkk>0); aa=find(rrrr==SupNum);
rrrr(aa)=[];
%%rrrr is output matrix which contains the neighbours of 1(or your desired one)
N.B.:It will give you just right directions neighbour information,to get all direction use 'Offset' optiom for graycomatrix() function.See: https://in.mathworks.com/help/images/ref/graycomatrix.html

Community Treasure Hunt

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

Start Hunting!

Translated by