reading from txtfile
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
i have a txt file,from which i want to read following lines into matlab. How can I read it ?
class lookup = {
0, 0, 0, 0, 255, 0, 0, 0, 255, 255, 127, 80, 46, 139, 87,
0, 255, 255}
class names = {
Unclassified, forest [Green] 500 points, Water [Blue] 500 points,
baresoil [Coral] 500 points, Vegetation [Sea Green] 500 points,
Random Sample (Random Sample (builtup)) [Cyan] 500 points}
I want class lookup in nx3 matrix and out of class names i need only class names ( forest, water, baresoil, vegetation, builtup)
3 Commenti
Risposta accettata
per isakson
il 30 Apr 2012
Try this
lookup = { 0, 0, 0, 0, 255, 0, 0, 0, 255, 255, 127, 80, 46, 139, 87, 0, 255, 255};
names = { 'Unclassified' ...
, 'forest [Green] 500 points' ...
, 'Water [Blue] 500 points' ...
, 'baresoil [Coral] 500 points' ...
, 'Vegetation [Sea Green] 500 points' ...
, 'Random Sample (Random Sample (builtup)) [Cyan] 500 points}' };
lup = permute( reshape( [ lookup{:} ], 3, [] ), [ 2, 1 ] );
cac = regexp( names, '\<([\w ]+)(?:\[|\(.+){0,1}\>', 'tokens', 'once' );
cac = strtrim( cac );
str = cellfun( @(c) char(c), cac, 'uni', false );
I failed 'builtup':( Didn't read carefully enough.
Più risposte (1)
Andrei Bobrov
il 30 Apr 2012
N = regexp(names,'\w*(?=(.{1,3}\[))','match')';
tst = ~cellfun('isempty',N);
clr = reshape(lookup,3,[])';
out = [cellfun(@(x)x{:},N(tst),'un',0) clr(tst,:)];
0 Commenti
Vedere anche
Categorie
Scopri di più su Argument Definitions in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!