Find indices of a binary matrix depicting a circular disk in the clockwise direction
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have a binary matrix of a circular disk. I need to find the indices of all the ones in the matrix. However, I am trying to find it sequentially in the clockwise/anticlockwise direction. I have used the find fuction. But that gives me the indices in the row by row or column by column sequence rather than circumferentially. Any help will be appreciated

0 commentaires
Réponse acceptée
Walter Roberson
le 12 Juin 2020
[rows, cols] = find(YourImage);
%find the centroid
rowcent = mean(rows);
colcent = mean(cols);
%convert to polar
[theta, rho] = cart2pol(cols - colcent, rows - rowcent);
%sort in polar
[~, sortidx] = sort(theta);
%reorder x y
sort_rows = rows(sortidx);
sort_cols = cols(sortidx);
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Matrix Indexing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!