Android實現快速高斯模糊
阿新 • • 發佈:2019-02-14
高斯模糊想必大家都聽說過,百度百科對於高斯模糊的解釋為:
高斯模糊(英語:Gaussian Blur),也叫高斯平滑,是在Adobe Photoshop、GIMP以及Paint.NET等影象處理軟體中廣泛使用的處理效果,通常用它來減少影象噪聲以及降低細節層次。所謂"模糊",可以理解成每一個畫素都取周邊畫素的平均值。
在Android中實現快速高斯模糊,我們採用StackBlur開源的FastBlur。使用該方法時,如果我們傳入的Bitmap過大可能會導致記憶體oom。所以,我們需要對圖片進行一些操作。常見的方法是縮放圖片或者裁剪圖片。
BitmapFactory為我們提供一個縮放的函式:createScaledBitmap。那麼我們就可以使用該函式對圖片進行縮放,然後實現高斯模糊。
該方式的優點:
(1)有利於減少記憶體的佔用(圖片變小)。
(2)更加利於圖片的模糊度。模糊處理時間變短。
下面來看今天的效果,帶給你們一隻美美的妹子:
這就是利用高斯模糊的原理做成的,是不是非常贊!
總結:核心原理就是利用FastBlur的doBlur演算法,然後對原圖進行相應的處理就可以搞定啦!
好了,下面我貼出一個StackBlur的體驗連結,大家可以親身體會高斯模糊多帶來的魅力,OK,今天的內容就到這裡,thks~