00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00033 #include <math.h>
00034
00035 #include "image.h"
00036 #include "proto2D.h"
00037 #include "radar.h"
00038
00039 int main(int argc, char *argv[]){
00040
00041 imau1 im0;
00042 imau2 im2, moyint;
00043 imafl moycarre;
00044 pixu2 tab2[256];
00045
00046
00047 read_ima_t rea;
00048 moy2D_t moy;
00049 moycarre2D_t moycar;
00050 kuan_t kuan;
00051 write_ima_t wri;
00052
00053
00054 param par0, *ptp;
00055 int i, j;
00056 double tmpdb;
00057
00058
00059 param_debut(argc, argv, &par0);
00060 ptp = &par0;
00061 ptp = read_ima_lect(&rea, ptp, ">> image initiale (u1) :");
00062 ptp = kuan_lect(&kuan, ptp, "Kuan :");
00063 moy.dimX = kuan.dimX; moycar.dimX = kuan.dimX;
00064 moy.dimY = kuan.dimY; moycar.dimY = kuan.dimY;
00065 ptp = write_ima_lect(&wri, ptp, ">> image resultat (u1) :");
00066 param_fin(argc, argv, &par0);
00067
00068
00069 read_imau1_init(&rea, &im0);
00070
00071 im2.nc = im0.nc;
00072 im2.nr = im0.nr;
00073 alloc_imau2(&im2);
00074 for(j=0; j<256; j++)
00075 tab2[j] = (pixu2)j*(pixu2)j;
00076 for(j=0; j<im0.nr; j++)
00077 for(i=0; i<im0.nc; i++)
00078 im2.p[j][i] = tab2[im0.p[j][i]];
00079 moy2Du2_init(&moy, im2, &moyint);
00080 moycarre2Du2_init(&moycar, im2, &moycarre);
00081 ;
00082 write_ima_init(&wri);
00083
00084
00085 moy2Du2_calc(&moy, im2, &moyint);
00086 moycarre2Du2_calc(&moycar, im2, &moycarre);
00087 kuanu2_calc(&kuan, im2, moyint, moycarre, &im2);
00088
00089 for(j=0; j<im0.nr; j++)
00090 for(i=0; i<im0.nc; i++){
00091 tmpdb = sqrt((double)im2.p[j][i]) +0.5;
00092 if( tmpdb < 256. )
00093 im0.p[j][i] = (pixu1)tmpdb;
00094 else
00095 im0.p[j][i] = 255;
00096 }
00097
00098 write_imau1_ferm(&wri, im0);
00099 }
00100
00101
00102