Find group of points in an array of points
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Ndilokelwa Luis
el 26 de Mayo de 2015
Respondida: Walter Roberson
el 26 de Mayo de 2015
I have a array x(i,j) where randomly x(i,j) = 1 or x(i,j) = 0. I need to find groups of x(i,j) adjacent to each other with x(i,j) = 1. Please help.
0 comentarios
Respuesta aceptada
Más respuestas (3)
Joseph Cheng
el 26 de Mayo de 2015
Do you have access to the image processing toolbox? if so the function bwconncomp() maybe what you're looking for
1 comentario
Joseph Cheng
el 26 de Mayo de 2015
While your response isn't an answer detecting 1's isn't the hard part. Do you have access to the image processing toolbox. bwconncomp() will detect and group adjacent 1's for you. If you do not post what you have created and we can figure out how to stop the infinite loop.
Walter Roberson
el 26 de Mayo de 2015
B = [A, zeros(size(A,1),1)]';
[Br,Bc] = ind2sub(size(B), strfind(B(:)', [1 1]));
Arc = [Bc(:), Br(:)];
Arc will now be an N x 2 array of row and column indices into A where a [1 1] pair was found. If there are "runs" then there will be one row in Arc for each "left" pixel in the run, and those entries will occur one after another in Arc, so if A(8,17) is the start of a [1 1 1] run, then there will be a row in Arc for [8, 17] and the next row in Arc would be [8, 18].
0 comentarios
Ver también
Categorías
Más información sobre Get Started with Image Processing Toolbox en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!