reading from txtfile

1 次查看(过去 30 天)
Sukuchha
Sukuchha 2012-4-30
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 个评论
Sukuchha
Sukuchha 2012-4-30
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 2012-4-30
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 .

请先登录,再进行评论。

采纳的回答

per isakson
per isakson 2012-4-30
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 个评论
Sukuchha
Sukuchha 2012-4-30
Thanks it worked like a charm. need to learn more about regexp :)

请先登录,再进行评论。

更多回答(1 个)

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

类别

Help CenterFile Exchange 中查找有关 Argument Definitions 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by