# How to get X and Y coordinates from a Sparse Matrix?

7 views (last 30 days)
MAKESH VINEETH on 25 Nov 2020
Commented: MAKESH VINEETH on 25 Nov 2020
Hey all,
I want to get X and Y coordinates of an image, so that I can generate the graph in an Excel File with those coordinates. I used below code to process an binary image:
Icomplement = imcomplement(img);
Icomplement = rgb2gray(Icomplement);
out2 = bwskel(BW,'MinBranchLength',15);
BW2 = bwperim(out2,8);
Then I used the following code lines to get a digital graph:
M = sparse(BW2);
spy(M);
Now I want to grab the equivalent X and Y coordinates of this sparse matrix so that I can generate the same graph in Excel. Please suggest a solution. Thank you.

KSSV on 25 Nov 2020
Edited: KSSV on 25 Nov 2020
If A is your sparse matrices. You can get positions using:
[y,x] = find(A) ; % x, y are the positons/indices of non-zeros
plot(x,y'.r')

Bruno Luong on 25 Nov 2020
To reverse y-axis
set(gca,'ydir','reverse')
Full script
A=rand(1000,100)>0.98;
[i,j] = find(A) ;
subplot(1,2,1);
plot(j,i,'.r');
set(gca,'YDir','reverse')
axis equal
axis tight
subplot(1,2,2)
spy(A)
KSSV on 25 Nov 2020
:)
MAKESH VINEETH on 25 Nov 2020
Thanks, it worked!

R2020b

### Community Treasure Hunt

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

Start Hunting!