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
| double resfft=0;
img->load(liste[0]);
*img = img->scaled(widget.imageLabel->width(), widget.imageLabel->height(),Qt::IgnoreAspectRatio,Qt::FastTransformation);
QPixmap pixmapone=QPixmap(QPixmap::fromImage(*img));
QImage one=pixmapone.toImage();
int larg=one.width();
int haut=one.height();
for(int i=0;i<haut;i++)
{
for(int j=0;j<larg;j++)
{
for(int k=0;k<liste.size();k++){
img->load(liste[k]);
*img = img->scaled(widget.imageLabel->width(), widget.imageLabel->height(),Qt::IgnoreAspectRatio,Qt::FastTransformation);
QPixmap pixmap=QPixmap(QPixmap::fromImage(*img));
QImage imagefft=pixmap.toImage();
QRgb pixelfft=imagefft.pixel(i,j);
double moyp= qGray(pixelfft);
sig_in[k] = moyp;
}
forwardDFT(sig_in, widget.imagelistWidget->count(), a, b); // forward DFT sur un vecteur des pixels en temps
for(int l=0;l<liste.size();++l)//recuperer les valeurs de phase et remplacer les pixels correspondants par ces valeurs
{
img->load(liste[l]);
*img = img->scaled(widget.imageLabel->width(), widget.imageLabel->height(),Qt::IgnoreAspectRatio,Qt::FastTransformation);
pixmapfin=QPixmap(QPixmap::fromImage(*img));
QImage imgfinal=pixmapfin.toImage();
resfft=atan2(b[l],a[l]);
imgfinal.setPixel(i,j,qRgb(resfft, resfft, resfft));
}
}
}
//enregistrer la nouvelle liste d'images dans un dossier"pas encore fait" |
Partager