MATLAB Answers

How to extract column and row index and the corresponding value from a matrix?

1 view (last 30 days)
Vivaswan ChandraShekar
Vivaswan ChandraShekar on 23 Jun 2019
Commented: Andrei Bobrov on 26 Jun 2019
I have a huge matrix of pixel values from an image converted into a text file. I need to convert this matrix into a table with column index, row index and the element as seperate columns of the table. How do I do this?
I'm doing this to figure out of the Centre of mass of a 2D projection of an object in the image. The image is a binary image with a single object in white and the background in black. Is there any other way to do this?

Answers (2)

madhan ravi
madhan ravi on 23 Jun 2019
Edited: madhan ravi on 23 Jun 2019
m = [0 1 4
7 6 0];
[Rows,Columns] = ind2sub(size(m),(1:numel(m))');
Wanted = [Rows,Columns,m(:)];
Wantedtable = sortrows(array2table(Wanted,'VariableNames',{'Rows','Columns','Elements'}),1)

Andrei Bobrov
Andrei Bobrov on 23 Jun 2019
A = [0 1 4
7 6 0];
out = sortrows([fullfact(size(A)),A(:)]);

Sign in to answer this question.

Products


Release

R2019a