How to convert a numeric array to a table.I want the first row of data of the array to be J and the second row of data to be K in a table T[J K];

1 Ansicht (letzte 30 Tage)
>> A=imread('C:\Users\ADMIN\Desktop\canada.bmp');
>> level=graythresh(A);
>> B=im2bw(A);
>> O=imcontour(B);
I'm building this code and the last command returns an array wich has two rows of data!These data are the points of contoured image invariants.I want to create a table which will take the first row of data as J and the second row as K in a new table T[J K];Don't mind if it's double or unit8 or something else.Please help!!

Akzeptierte Antwort

Guillaume
Guillaume am 29 Aug. 2016
array2table(O.', 'VariableNames', {'J', 'K'});
Single letter variable names / column names are not good practice. Use variable names that have meaning.
  4 Kommentare
Guillaume
Guillaume am 29 Aug. 2016
Please, see the help on working with tables
mytable = array2table(O.', 'VariableNames', {'J', 'K'});
mytable(1, :) %return 1st row of mytable as a table
mytable.J(1) %return 1st element of column J

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Azzi Abdelmalek
Azzi Abdelmalek am 29 Aug. 2016
A=randi(10,2,5)
names={'J','K'}
cell2table(num2cell(A'),'VariableNames',names)
  2 Kommentare
Guillaume
Guillaume am 29 Aug. 2016
There's no need to go through a cell array. array2table will directly convert all columns of a matrix into table columns.

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by