2016-01-25 37 views
2

我想根據圖像中高頻的數量來確定圖像清晰度。據我所知,OpenCV中的dft()函數返回兩個具有實數和複數的矩陣。 這是我卡住的地方。我怎樣才能從這些數據中確定高頻的數量?使用離散傅里葉變換[OpenCV]找到高頻率

我很感謝每一個提示/鏈接,可以提供一個更好的理解。

問候

+0

你想在幅度圖像中看到這一點,或者在進一步處理中使用這些值嗎? –

+0

抱歉,我不確定是否正確理解您的問題。 這個想法是能夠說圖像1比圖像2更清晰,反之亦然。所以我需要計算一個代表圖像清晰度的值。 – dcfyg

+1

這可能有幫助嗎? http://answers.opencv.org/question/5395/how-to-calculate-blurriness-and-sharpness-of-a-given-image/ –

回答

1

讓FT
結果

的 計算幅度現在你有二維矩陣。考慮左上象限(其他都是真實來源的鏡像)。
這裏Magn[0][0]條目對應零頻率,而Magn[(n-1)/2][(n-1)/2]條目對應最高頻率。
該子矩陣的左上部包含低頻採樣,因此您可以計算該部分和其餘部分中的值的總和並比較這些和。例如(僞代碼):

cvIntegral(Magn, Rect(0..n/4, 0..n/4)) compare with 
cvIntegral(Magn, Rect(0..n/2, 0..n/2)) - cvIntegral(Magn, Rect(0..n/4, 0..n/4))