我試圖爲學校項目實施高斯模糊。 我需要讓CPU和GPU實現來比較性能。高斯模糊和FFT
我不太確定我是否理解高斯模糊是如何工作的。所以我的一個問題是 如果我已經正確地理解了它?
繼承人我現在所做的: 我使用維基百科的公式http://en.wikipedia.org/wiki/Gaussian_blur來計算 該過濾器。 對於第2d我採取圖像中的每個像素的RGB,並通過 乘以該像素的RGB和周圍像素與相關的過濾器位置應用該過濾器。 然後將它們相加成爲新的像素RGB值。 對於1d,我首先水平應用濾波器,然後進行濾波,如果我理解正確,應該給出 相同的結果。 此結果與應用2d過濾器時的結果完全相同嗎?
我的另一個問題是關於如何優化算法。 我讀過快速傅立葉變換適用於高斯模糊。 但我無法弄清楚如何與它聯繫。 有人能給我一個正確的方向提示嗎?
謝謝。
當通過FFT使用快速卷積時,您可能需要將圖像和內核填充到圖像+內核的大小,否則最終可能會在邊緣附近出現圓形環繞瑕疵。 – hotpaw2
可以避免的一種方法是將採樣器尋址模式設置爲「鏡像」紋理。 – bluejamesbond