889446c0e7f3c77255381ca7a64310a3b1e17ced
[physik/nlsop.git] / linescan.c
1 /* linescan.c -- linescan @ width/2 */
2
3 /*
4  * author: frank.zirkelbach@physik.uni-augsburg.de
5  *
6  */
7
8 #define _GNU_SOURCE
9 #include <stdio.h>
10
11 #include <stdio.h>
12 #include "bmp.h"
13
14 #define DX (3)
15
16 int main(int argc,char **argv) {
17
18   t_bmp bmp;
19   int x,y,d;
20   double val;
21
22   if(argc!=2) {
23     printf("usage: %s <filename>\n",argv[0]);
24     return -1;
25   }
26
27   bmp_init(&bmp,2);
28   bmp.mode=READ;
29   strcpy(bmp.file,argv[1]);
30
31   bmp_read_file(&bmp);
32
33   dprintf(2,"width = %d ... delta x = %d.\n",bmp.info.width,DX);
34
35   x=bmp.info.width/2;
36   for(y=0;y<bmp.info.height;y++) {
37     val=0.0;
38     for(d=-DX;d<=DX;d++)
39       val+=(1.0*(bmp.map[x+d].r+bmp.map[x+d].g+bmp.map[x+d].b)/3);
40     printf("%f %f\n",1.0*(bmp.info.height/2-y)/(bmp.info.width*3),val);
41     //printf("%f %f\n",1.0*(bmp.info.height/2-y)/(bmp.info.width),val);
42     x+=bmp.info.width;
43   }
44
45   bmp_shutdown(&bmp);
46
47   return 1;
48 }