2013-03-16 140 views
0

我已經使用矩陣/內核實現了高斯模糊。我有3x3,5x5和7x7。 但是,在Corel PhotoPaint中,可以使用參數範圍從0.1到250.0的高斯模糊。對於250的值,它會使圖像完全模糊並立即運行。 我嘗試了7次7x7模糊應用,但花費了很多時間,圖像與Corel的4.0高斯模糊模糊不清。如何使參數化高斯模糊?

如何使我的高斯模糊參數化爲像來自Corel的模糊並快速模糊圖像?

I am using a bit optimized C code from Rosetta7x7 matrix from Wikipedia

I also used this routine to create 51x51 kernel但結果是用Corel的高斯= 15.0比較的和需要大約30秒(這是比的Corel慢30倍)。

+0

我認爲您的模糊算法的代碼,僞代碼或一般性描述可能會有幫助。如果你的模糊算法是O(N^2),那麼我認爲有優化要做。 – angelatlarge 2013-03-16 20:31:40

+0

我認爲明確模糊參數的含義也很重要。我的印象是,需要兩個參數:模糊像素(稱爲模糊區域或參數「N」)和檢查模糊像素新值的平方尺寸(稱爲「M」)。在你的3x3模糊中,是'N' = 3還是'M' = 3? – angelatlarge 2013-03-16 20:34:41

+0

@angelatlarge我認爲我的M是3(與我的內核大小一樣),N是400(圖像大小約爲400x400)。 – Tom 2013-03-16 20:38:24

回答

2

你一定知道2D高斯模糊是一個可分離的變換?

它可以實現爲兩個單獨的1D變換。另外,check this out

+0

是的,但我不確定這樣會更快。另外 - 我找不到任何算法描述。到處都是隻有2d高斯。 – Tom 2013-03-16 22:08:40

+0

好吧,我發現了所謂的「高斯函數」,它產生了1d內核,看起來這是做這個工作。我之前在看「高斯」,這是不對的。 – Tom 2013-03-16 22:36:51

+1

很高興能幫到你! – 2013-03-16 22:37:39