Ich versuche, inverse diskrete Fouriertransfrom für das Bild zu implementieren, das ich zuvor diskrete Fourier-Transformation anwendete. Die Ausgabe ist eine Art von zwei Bildern. Ein Bild ist in der richtigen Position, das andere ist in umgekehrter Position. Könnten Sie mir helfen, dieses Problem zu lösen?Inverse diskrete Fourier-Transformation Ausgabebild
Hier ist der Code, den ich geschrieben habe.
double inverseFourierReal = 0.0;
double inverseFourierImg = 0.0;
double degreeValue,cosValue,sinValue;
// double inverse = inverseFourier;
for(int rowm = 0; rowm < rows; rowm++)
for(int coln = 0; coln < cols; coln++) {
inverseFourierImg = 0.0;
inverseFourierReal = 0.0;
for(int rowk = 0; rowk < rows; rowk++) {
for(int coll = 0; coll < cols; coll++) {
degreeValue = 2. * PI * (float(rowk*rowm)/rows + float(coll*coln)/cols);
cosValue = cos(degreeValue);
sinValue = sin(degreeValue);
inverseFourierReal += cosValue * fourierImageReal[rowk][coll] - sinValue * fourierImageImg[rowk][coll];
//inverseFourierImg += (cosValue * fourierImageImg[rowk][coll] + sinValue * fourierImageReal[rowk][coll]);
//cout<<inverseFourierReal;
}
}
invr_FourierReal.at<double>(rowm,coln) = abs((inverseFourierReal)/(sqrt(rows*cols)));
// invr_FourierReal.at<double>(rowm,coln) = double(inverseFourierReal)/(sqrt(rows*cols));
//invr_FourierImg.at<double>(int(rowm),int(coln)) = double(inverseFourierImg)/(sqrt(rows*cols));
}
Sie können das Ausgabebild sehen hier:
Edit: ich den Code geändert haben und Sie können neue Ausgabe. es steht auf dem Kopf. Ich verwendete Lena Bild für den Eingang
P. S Entschuldigung für mein schlechtes Englisch.
Wie können wir helfen, wenn wir nicht den Teil des Codes sehen, mit dem Sie dies tun? wahrscheinlich ähnliches Problem: [Implementieren 2D inverse Fourier-Transformation mit 1D-Transformationen] (http://stackoverflow.com/a/40816757/2521214) – Spektre
@Spectre Vielen Dank für Ihre Antwort. Ich habe das Stück Code hinzugefügt, die ich für die umgekehrte Transformation verwendet habe – Hikmat
Hinzugefügt Antwort zumindest das ist, wie ich es sehe. – Spektre