Connected points

Hi, I need to know if there is any way to find the indices of connected points. To be more specific, is there any way that to preserve those indices so that it could be used for comparison in an altered matrix( the matrix comes from a picture). Thanks for the help.

3 comentarios

Sean de Wolski
Sean de Wolski el 23 de En. de 2012
Please provide a small example of inputs, the operation and outputs.
Romendra
Romendra el 23 de En. de 2012
My working matrix is 128x256 but as a sample
a=[1 1 0 0 0 1
1 0 0 0 1 1
0 0 0 0 0 1
0 0 0 0 0 0]
I then used bwlabeln(a) to find the connected points which gave me
a_connected=[ 1 1 0 0 0 2
1 0 0 0 2 2
0 0 0 0 0 2
0 0 0 0 0 0]
What i need to do is check this against another matrix( as i said a picture) to see if there is any difference. The connected points indicate an object of interest in the picture.
Any ideas??
Thanks
Romendra
Romendra el 23 de En. de 2012
Also I am doing object by object comparison. So I need to compare a set of connected points to another set in an altered matrix.

Iniciar sesión para comentar.

 Respuesta aceptada

Walter Roberson
Walter Roberson el 23 de En. de 2012

0 votos

regionprops() can return the indices of the points for each region.
Or more simply,
find(a==2)

11 comentarios

Romendra
Romendra el 23 de En. de 2012
I am gonna give that a go. Test it out and let you know how it works. Thanks
BTW which toolbox has imageprop(). I just searched it in the help file and it does not pop up
Walter Roberson
Walter Roberson el 23 de En. de 2012
Sorry, I should have said regionprop()
Romendra
Romendra el 23 de En. de 2012
oh ok.. I will give that a go. Sorry I think i might have mis read it. I will let you know how that works
Walter Roberson
Walter Roberson el 23 de En. de 2012
I really did write imageprop() originally. And then I corrected it to regionprop(). But the real routine name is regionprops().
Sean de Wolski
Sean de Wolski el 23 de En. de 2012
Case of the Mondays?
Walter Roberson
Walter Roberson el 23 de En. de 2012
Dang, now I've got the storyline for an old science fiction story stuck in my head, but I cannot remember the author or title or finer details, or even the decade it was written. Oh, and it might have been in one of the boxes of books that the mice got in to a couple of years ago. Sigh.
Romendra
Romendra el 24 de En. de 2012
ok, so I used bwconncomp(a) to get the # of connected points and their size by PixelIdxList. But the question still remains as to how to extract the indices for the connected points. I did find(a==1), find(a==2) and so on and so forth. But if you do not know how many objects are there in an image it just looks a long tedious way as I would have to find the individual indices and them compare as soon as I find them. Does the PixelIdxList save the index info. I looked into the image processing toolbox help but the examples are not too helpful..Still looking into it but any more ideas..
Walter Roberson
Walter Roberson el 24 de En. de 2012
u = unique(a(:));
u(u==0) = [];
length(u) is number of objects
Romendra
Romendra el 24 de En. de 2012
what is on the right hand side of the second line..
u(u==0)=?
seems like a special char
cant read it..
ty
Romendra
Romendra el 25 de En. de 2012
I used regionprops and extracted both the linear index and value associated with it.
Thanks for help
Walter Roberson
Walter Roberson el 25 de En. de 2012
The [] is left-square-bracket followed by right-square-bracket. That command is there to toss out the 0's that correspond to "no object present here".

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Community Treasure Hunt

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

Start Hunting!

Translated by