matlab lsp,lspcd.m · zigzag2015/machinevision-toolbox-matlab - Gitee.com

后焕
2023-12-01

%LSPCD List attributes of PCD format files

%

% LSPCD() list the attributes of all .PCD files in the current folder.

%

% LSPCD(FILESPEC) as above but list only files that match FILESPEC which

% might contain a directory name and/or a wildcard.

%

%

% See also pclviewer, loadpcd.

%

% Copyright (C) 2013, by Peter I. Corke

function lspcd(name)

% default to .pcd files in current dir

if nargin < 1

name = '*.pcd';

end

path = fileparts(name); % get the common path

files = dir(name); % get all the matching files

for file=files'

header(path, file.name);

end

end

function header(dir, file)

% build the full path to the file

fname = fullfile(dir, file);

fp = fopen(fname, 'r');

version = [];

while true

line = fgetl(fp);

if line(1) == '#'

continue;

end

[field,remain] = strtok(line, ' \t');

remain = strtrim(remain);

switch field

case 'VERSION'

version = remain;

case 'FIELDS'

fields = remain;

case 'TYPE'

type = remain;

case 'WIDTH'

width = str2num(remain);

case 'HEIGHT'

height = str2num(remain);

case 'POINTS'

npoints = str2num(remain);

case 'SIZE'

siz = str2num(remain);

case 'COUNT'

count = str2num(remain);

case 'DATA'

mode = remain;

break;

otherwise

fprintf('unknown field %s\n', field);

end

end

% if no version field we'll assume it's not a PCD file

if isempty(version)

return;

end

if height == 1

org = 'unorganized';

else

org = 'organized';

end

fprintf('%s: %s, %s, %dx%d\n', ...

fname, mode, org, fields, width, height);

fprintf(' %s; %s\n', type, num2str(siz));

fclose(fp);

end

一键复制

编辑

Web IDE

原始数据

按行查看

历史

 类似资料: