reading from txtfile

2 visualizzazioni (ultimi 30 giorni)
Sukuchha
Sukuchha il 30 Apr 2012
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
Sukuchha
Sukuchha il 30 Apr 2012
Lookup is a color triplets (RGB) information representing color of 6 class in this case.
I tagged fgetl becuase i thought the best way is to read the file line by line .
Sukuchha
Sukuchha il 30 Apr 2012
Lookup is a color triplets (RGB) information representing color of 6 class in this case.
I tagged fgetl becuase i thought the best way is to read the file line by line .

Accedi per commentare.

Risposta accettata

per isakson
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.
  1 Commento
Sukuchha
Sukuchha il 30 Apr 2012
Thanks it worked like a charm. need to learn more about regexp :)

Accedi per commentare.

Più risposte (1)

Andrei Bobrov
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,:)];

Categorie

Scopri di più su Characters and Strings 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!

Translated by