#include <stdio.h>
#include <stdlib.h>
#include<math.h>
#include<malloc.h>
#include <memory.h>
#include <string.h>
#define DIM 1024
int I_m ,I_n,i;
#define pi 3.14159265359
//double D4[]={0.482962913145, 0.836516303738, 0.224143868042, -0.129409522551 };
//double D6[]={0.332670552950, 0.806891509311, 0.459877502118, -0.135011020010, -0.085441273882, 0.035226291882 };
double D8[]={ 0.230377813309, 0.714846570553, 0.630880767930, -0.027983769417,
-0.187034811719, 0.030841381836, 0.032883011667, -0.010597401785 };
//////////////////////////////////////////////////////////////////
int getmax(unsigned char**image_in);
int getmin(unsigned char**image_in);
void chartodouble(unsigned char **image_in,double **double_in);
void doubletochar(double **int_in,unsigned char **image_in);
void daubechies8hl(double **double_in,double **double_out);
void id8h(double **double_in,double **double_out);
void id8l(double **double_in,double **double_out);
void redaubechies8hl(double **double_in,double **double_out);
////////////////////////////////////////////////////////////////
void main()
{
FILE *fr;
FILE *fw;
int j=0;
int max,min=0;
char topc[20];
unsigned char **image_in,**image_out;
double **double_in,**double_out;
fr=fopen("test.pgm","rb");
///////////////////////////////////////////////////////////
//begin to read file
fscanf(fr,"%s\n",topc);
fscanf(fr,"%d %d\n",&I_n,&I_m);
fscanf(fr,"%d",&i);
printf("input%s\n",topc);
printf("input %d,%d,%d\n",I_m,I_n,i);
//动态分配保存输出文件空间
image_in=(unsigned char **)calloc(I_m,sizeof(unsigned char *));
for(i=0;i<I_m;i++)
image_in=(unsigned char *)calloc(I_n,sizeof(unsigned char));
image_out=(unsigned char **)calloc(I_m,sizeof(unsigned char *));
for(i=0;i<I_m;i++)
image_out=(unsigned char *)calloc(I_n,sizeof(unsigned char));