⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pgmread.m

📁 Code to convert an pgm image to matrix matlab
💻 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 + -