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

📄 loadppm.m

📁 来自澳大利亚Qeensland大学的计算机视觉Matlab工具箱。 This Toolbox provides a number of functions that are useful in co
💻 M
字号:
%LOADPPM	Load a PPM image%%	[R,G,B] = loadppm(filename)%%	Returns a matrix containing the image loaded from the PPM format%	file filename.  Handles ASCII (P3) and binary (P6) PPM file formats.%%	If the filename has no extension, and open fails, a '.ppm' and%	'.pnm' extension will be tried.%% SEE ALSO:	saveppm loadpgm%%	Copyright (c) Peter Corke, 1999  Machine Vision Toolbox for Matlab% Peter Corke 1994function [R,G,B] = loadppm(file)	white = [' ' 9 10 13];	% space, tab, lf, cr	white = setstr(white);	fid = fopen(file, 'r');	if fid < 0,		fid = fopen([file '.ppm'], 'r');	end	if fid < 0,		fid = fopen([file '.pnm'], 'r');	end	if fid < 0,		error('Couldn''t open file');	end			magic = fread(fid, 2, 'char');	while 1		c = fread(fid,1,'char');		if c == '#',			fgetl(fid);		elseif ~any(c == white)			fseek(fid, -1, 'cof');	% unputc()			break;		end	end	cols = fscanf(fid, '%d', 1);	while 1		c = fread(fid,1,'char');		if c == '#',			fgetl(fid);		elseif ~any(c == white)			fseek(fid, -1, 'cof');	% unputc()			break;		end	end	rows = fscanf(fid, '%d', 1);	while 1		c = fread(fid,1,'char');		if c == '#',			fgetl(fid);		elseif ~any(c == white)			fseek(fid, -1, 'cof');	% unputc()			break;		end	end	maxval = fscanf(fid, '%d', 1);	while 1		c = fread(fid,1,'char');		if c == '#',			fgetl(fid);		elseif ~any(c == white)			fseek(fid, -1, 'cof');	% unputc()			break;		end	end	if magic(1) == 'P',		if magic(2) == '3',			disp(['ASCII PPM file ' num2str(rows) ' x ' num2str(cols)])			I = fscanf(fid, '%d', [cols*3 rows]);		elseif magic(2) == '6',			disp(['Binary PPM file ' num2str(rows) ' x ' num2str(cols)])			if maxval == 1,				fmt = 'unint1';			elseif maxval == 15,				fmt = 'uint4';			elseif maxval == 255,				fmt = 'uint8';			elseif maxval == 2^32-1,				fmt = 'uint32';			end			I = fread(fid, [cols*3 rows], fmt);		else			disp('Not a PPM file');		end	end	%	% now the matrix has interleaved columns of R, G, B	%	I = I';	size(I)	R = I(:,1:3:(cols*3));	G = I(:,2:3:(cols*3));	B = I(:,3:3:(cols*3));	fclose(fid);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -