Find indices of a binary matrix depicting a circular disk in the clockwise direction

5 vues (au cours des 30 derniers jours)
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

Réponse acceptée

Walter Roberson
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)

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Produits


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by