1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| int i, j;
char d;
char header [100], *ptr;
ifstream ifp;
ifp.open(fname, ios::binary | ios::in);
if (!ifp)
{
cout << "Can't read image: <" << fname << '>' << endl;
exit(1);
}
ifp.getline(header,100,'\n');
if((header[0]!='P') || header[1]!='6') /* 'P5' Formay */
{
cout << "Image <" << fname << "> is not in binary PGM 'P5' format." << endl;
exit(1);
}
ifp.getline(header,100,'\n');
M=strtol(header,&ptr,0);
cout << M;
N=atoi(ptr);
ifp.getline(header,100,'\n');
Q=strtol(header,&ptr,0);
*fimage = new int* [N];
for(i=0; i<N; i++)
(*fimage)[i] = new int[M];
for(i=0; i<N; i++)
{
for(j=3; j<M; j++)
{
d = ifp.get();
(*fimage)[i][j]= (int)d;
cout << (*fimage)[i][j] << " ";
}
cout << endl;
} |
Partager