📄 pgmread.m
字号:
% IM = pgmRead( FILENAME )%% Load a pgm image into a MatLab matrix. % This format is accessible from the XV image browsing utility.% Only works for 8bit gray images (raw or ascii)% Hany Farid, Spring '96. Modified by Eero Simoncelli, 6/96.% Modified by Allan Jepson, 9/99.function im = pgmRead( fname );global SIZE_LIMIT;if SIZE_LIMIT fprintf(1, 'SIZE_LIMIT recognized by pgmread\n');end[fid,msg] = fopen( fname, 'r' );if (fid == -1) error(msg);end[pars type]= pgmReadHeader(fid);if (pars==-1) fclose(fid); error([fname ': cannot parse pgm header']);endxdim = pars(1);ydim = pars(2);%%% Maximum pixel valuemaxval = pars(3);fprintf(1, 'original image size: cols %d rows %d\n', xdim, ydim)sz = xdim * ydim;if SIZE_LIMIT if sz >= 16384 ydim = floor(16384/xdim); sz = xdim * ydim; fprintf(1, 'truncated image size: cols %d rows %d\n', xdim, ydim) endendif (type == 'P2') [im,count] = fscanf(fid,'%d',sz);elseif (type == 'P5') [im,count] = fread(fid,sz,'uchar');else fclose(fid); error([fname ': Not of type P2 or P5.']);endfclose(fid);if (count == sz) im = reshape( im, xdim, ydim )';else fprintf(1,'Warning: File ended early!'); im = reshape( [im ; zeros(sz-count,1)], xdim, ydim)';end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -