%LOADINR Load an INRIMAGE format file % % LOADINR(filename, im) % % Load an INRIA image format file and return it as a matrix % % SEE ALSO: saveinr % % Copyright (c) Peter Corke, 1999 Machine Vision Toolbox for Matlab % Peter Corke 1996 function im = loadinr(fname, im) fid = fopen(fname, 'r'); s = fgets(fid); if strcmp(s(1:12), '#INRIMAGE-4#') == 0, error('not INRIMAGE format'); end % not very complete, only looks for the X/YDIM keys while 1, s = fgets(fid); n = length(s) - 1; if s(1) == '#', break end if strcmp(s(1:5), 'XDIM='), cols = str2num(s(6:n)); end if strcmp(s(1:5), 'YDIM='), rows = str2num(s(6:n)); end if strcmp(s(1:4), 'CPU='), if strcmp(s(5:n), 'sun') == 0, error('not sun data ordering'); end end end disp(['INRIMAGE format file ' num2str(rows) ' x ' num2str(cols)]) % now the binary data fseek(fid, 256, 'bof'); [im count] = fread(fid, [cols rows], 'float32'); im = im'; if count ~= (rows*cols), error('file too short'); end fclose(fid);