MATLAB Answers

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

7 views (last 30 days)
MAKESH VINEETH
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:
img = imread(app.SelectImageEditField.Value);
Icomplement = imcomplement(img);
Icomplement = rgb2gray(Icomplement);
BW = imbinarize(Icomplement, 'adaptive');
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.

  0 Comments

Sign in to comment.

Accepted Answer

KSSV
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')

  7 Comments

Show 4 older comments
Bruno Luong
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)

Sign in to comment.

More Answers (0)

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!