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
|
float *H,*S,*L,*MS,*ML;
float *resortieS,*resortieL;
float *imsortieS,*imsortieL;
int n=im1.largeur*im1.hauteur;
Image imS,imL,imfiltreS,imfiltreL;
im.AllocationImage(imS,im1.largeur,im1.hauteur,MYGRAY);
im.AllocationImage(imL,im1.largeur,im1.hauteur,MYGRAY);
H=new float[n];
S=new float[n];
L=new float[n];
MS=new float[n];
ML=new float[n];
resortieS=new float[n];
imsortieS=new float[n];
resortieL=new float[n];
imsortieL=new float[n];
ConversionBMPHSL(im1,H,S,L);
FFT(S,resortieS,imsortieS,im1.largeur,im1.hauteur);
Module(resortieS,imsortieS,MS,n);
FFT(L,resortieL,imsortieL,im1.largeur,im1.hauteur);
Module(resortieL,imsortieL,ML,n);
ImageModule(MS,imS,n);
ImageModule(ML,imL,n);
PasseHautSurFFT(imS,imfiltreS);
PasseHautSurFFT(imL,imfiltreL);
/* FFTInverse(imS);
FFTInverse(imL);*/
TransfoImageTab(imfiltreS,S,n);
TransfoImageTab(imfiltreL,L,n);
ConversionHSLBMP(H,S,L,im2); |
Partager