簡體   English   中英

逆離散傅立葉變換輸出圖像

[英]Inverse Discrete Fourier transform output image

我正在嘗試實現離散傅里葉變換,用於預先應用離散傅立葉變換的圖像。 輸出是兩種圖像。 一個圖像處於正確位置,另一個圖像處於反轉位置。 你能幫我解決這個問題嗎?

這是我寫的代碼。

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));


    }

你可以在這里看到輸出圖像:

IMG

編輯:我已經更改了代碼,您可以看到新的輸出。 它是顛倒的。 imgg 我使用Lena圖像作為輸入
對不起我的英語不好。

怪異的鏡面混合

什么是fourierFilterImg 你在做某種卷積而不是IDFT嗎? 同時也希望invr_FourierReal是不一樣的記憶地方作為fourierImageReal 我敢打賭,它只是一個復制/粘貼拼寫錯誤,所以我會改變這一行:

inverseFourierReal += (cosValue * fourierImageReal[rowk][coll] - sinValue * fourierFilterImg[rowk][coll]);

至:

inverseFourierReal += cosValue * fourierImageReal[rowk][coll] - sinValue * fourierImageImg[rowk][coll];

此外,我希望您的輸入圖像正確DFT轉換和復雜域。

[Edit1] X,Y的反演

這可能與DFTIDFTrow,col方向的計數不同。 圖像通常Y軸向下, X軸向右。 如果它只是倒置,那么只需顛倒錯誤的那個。

如果問題出在IDFT中,那么只需更改:

invr_FourierReal.at<double>(rowm,coln)

至:

invr_FourierReal.at<double>(rows-rowm-1,cols-coln-1)

但我的賭注是它在加載或渲染過程中只是反轉而DFT / IDFT與此無關。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM