Android實現快速高斯模糊

Songlcy發表於2016-07-21

高斯模糊想必大家都聽說過,百度百科對於高斯模糊的解釋為:

高斯模糊(英語:Gaussian Blur),也叫高斯平滑,是在Adobe PhotoshopGIMP以及Paint.NET影象處理軟體中廣泛使用的處理效果,通常用它來減少影象噪聲以及降低細節層次。所謂"模糊",可以理解成每一個畫素都取周邊畫素的平均值。

在Android中實現快速高斯模糊,我們採用StackBlur開源的FastBlur。使用該方法時,如果我們傳入的Bitmap過大可能會導致記憶體oom。所以,我們需要對圖片進行一些操作。常見的方法是縮放圖片或者裁剪圖片。

BitmapFactory為我們提供一個縮放的函式:createScaledBitmap。那麼我們就可以使用該函式對圖片進行縮放,然後實現高斯模糊。

該方式的優點:

(1)有利於減少記憶體的佔用(圖片變小)。

(2)更加利於圖片的模糊度。模糊處理時間變短。

下面來看今天的效果,帶給你們一隻美美的妹子:

這就是利用高斯模糊的原理做成的,是不是非常贊!

總結:核心原理就是利用FastBlur的doBlur演算法,然後對原圖進行相應的處理就可以搞定啦!

好了,下面我貼出一個StackBlur的體驗連結,大家可以親身體會高斯模糊多帶來的魅力,OK,今天的內容就到這裡,thks~

StackBlurForCanvas

原始碼下載




相關文章