function  Image=LecturePnm(nom)
%  Image=LecturePnm(nom)  : Lecture d'une image au format pnm
%    exemple : Im1=LecturePnm('lezard.pnm');
%
s=size(nom);
s=s(2);
while nom(s)==' '
    s=s-1;
end
sname=s;

%stupid but works


for p=0:2
fid=fopen(nom(1:sname),'r');

nl=abs(10);
Ent=fscanf(fid,'%c',2);
if Ent=='P6'

  c=fscanf(fid,'%c',1);
  while  c~=nl,
     c=fscanf(fid,'%c',1);
  end
  c=fscanf(fid,'%c',1);
  while c=='#',
      while  c~=nl,
         c=fscanf(fid,'%c',1);
      end
      c=fscanf(fid,'%c',1);
  end  
else
  'Ce n''est pas un fichier ppm'
end

%Traitement des nombres de colonnes et de lignes
dim=c;
c=fscanf(fid,'%c',1);
while  c~=nl,
    dim=[dim,c];
    c=fscanf(fid,'%c',1);
end
ndim=length(dim);
nb=strtok(dim,' ');
dim=dim(length(nb)+1:ndim);
Nbco=str2num(nb);
Nbli=str2num(dim);

%On trouve 255 puis, ligne suivante, les donnees
s=fscanf(fid,'%c',3);
if s~='255'
  'Attention, erreur de format'
end
  
c=fscanf(fid,'%c',1);
while  c~=nl,
   c=fscanf(fid,'%c',1);
end


%%% Recuperation des donnees dans une matrice

if p==0
  Image=zeros(Nbli,Nbco,3);
end
if p==1
   sss=fread(fid,1,'uchar');
end
if p==2
   sss=fread(fid,2,'uchar');
end

ImageR=fread(fid,[Nbco,Nbli],'uchar',2);
Image(:,:,p+1)=ImageR';

fclose(fid);

end % end loop on plans