高斯模糊(Android應(yīng)用)

項目地址,歡迎star

https://github.com/ly85206559/recursiveBlur

對圖像模糊的算法主要分為兩種
1.均值模糊(Box blur)
2.高斯模糊

這里使用了高斯模糊算法

高斯模糊的優(yōu)化算法也有很多
這里的優(yōu)化主要有兩方面
1.針對傳統(tǒng)的高斯模糊進(jìn)行降維計算(這里主要是基于二維高斯模糊可以轉(zhuǎn)換成兩個一維高斯模糊計算)
2.采用遞歸高斯模糊(這種算法與模糊半徑無關(guān),所以時間復(fù)雜度緊與圖片像素有關(guān))

這里實現(xiàn)了這兩種模糊算法,并且比較了這兩種模糊算法的耗時,模糊效果

上圖:分別模糊半徑為3,10,25,對比耗時(圖片的分辨率是216*284)

模糊半徑為3.jpg
模糊半徑為10.jpg
模糊半徑為25.jpg

可以看出遞歸高斯模糊的耗時跟模糊半徑無關(guān),耗時也很短,不過看模糊效果跟傳統(tǒng)高斯模糊還是有點區(qū)別,項目中使用也比較簡單

//傳統(tǒng)高斯模糊調(diào)用方法
public static Bitmap gaussBlurNatively(Bitmap original, int radius, boolean canReuseInBitmap)
//遞歸高斯模糊調(diào)用方法
public static Bitmap recursiveBlurNatively(Bitmap original, int radius, boolean canReuseInBitmap)

JNI部分的代碼是用的C,至于高斯模糊和遞歸高斯模糊的具體公式,網(wǎng)上有很多參考,這里主要是對android的一層封裝和算法的一些優(yōu)化

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,765評論 25 709
  • 最新剛好遇到個需求是要求做高斯模糊的,雖然現(xiàn)有已經(jīng)有一些框架可以提供調(diào)用,但關(guān)鍵還是要理解原理才行,思考的過程才是...
    Hohohong閱讀 13,844評論 1 37
  • 前言 從 iOS 7 開始 Apple 從 擬物化 過渡到了 扁平化 的設(shè)計風(fēng)格,同時也搭配使用了 毛玻璃風(fēng)格 當(dāng)...
    Amber_老虎閱讀 5,599評論 7 26
  • 近年來,圖片高斯模糊備受設(shè)計師的青睞,在各大知名APP中,如微信、手機(jī)QQ、網(wǎng)易云音樂等等都有對背景高斯圖模糊的設(shè)...
    依然范特稀西閱讀 46,406評論 19 203
  • 昨天逛了一整天,今天早上休息,原本應(yīng)該去上英語課的,大家都偷懶沒有去。 下午一個孕媽媽開車帶我們5個DDP去了梅西...
    HannaXie閱讀 307評論 1 2

友情鏈接更多精彩內(nèi)容