7 views (last 30 days)

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.

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)

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

Start Hunting!
## 0 Comments

Sign in to comment.