高斯模糊(Android应用)

项目地址,欢迎star

https://github.com/ly85206559/recursiveBlur

对图像模糊的算法主要分为两种
1.均值模糊(Box blur)
2.高斯模糊

这里使用了高斯模糊算法

高斯模糊的优化算法也有很多
这里的优化主要有两方面
1.针对传统的高斯模糊进行降维计算(这里主要是基于二维高斯模糊可以转换成两个一维高斯模糊计算)
2.采用递归高斯模糊(这种算法与模糊半径无关,所以时间复杂度紧与图片像素有关)

这里实现了这两种模糊算法,并且比较了这两种模糊算法的耗时,模糊效果

上图:分别模糊半径为3,10,25,对比耗时(图片的分辨率是216*284)

模糊半径为3.jpg
模糊半径为10.jpg
模糊半径为25.jpg

可以看出递归高斯模糊的耗时跟模糊半径无关,耗时也很短,不过看模糊效果跟传统高斯模糊还是有点区别,项目中使用也比较简单

//传统高斯模糊调用方法
public static Bitmap gaussBlurNatively(Bitmap original, int radius, boolean canReuseInBitmap)
//递归高斯模糊调用方法
public static Bitmap recursiveBlurNatively(Bitmap original, int radius, boolean canReuseInBitmap)

JNI部分的代码是用的C,至于高斯模糊和递归高斯模糊的具体公式,网上有很多参考,这里主要是对android的一层封装和算法的一些优化

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,929评论 25 709
  • 最新刚好遇到个需求是要求做高斯模糊的,虽然现有已经有一些框架可以提供调用,但关键还是要理解原理才行,思考的过程才是...
    Hohohong阅读 14,659评论 1 37
  • 前言 从 iOS 7 开始 Apple 从 拟物化 过渡到了 扁平化 的设计风格,同时也搭配使用了 毛玻璃风格 当...
    Amber_老虎阅读 10,808评论 7 26
  • 近年来,图片高斯模糊备受设计师的青睐,在各大知名APP中,如微信、手机QQ、网易云音乐等等都有对背景高斯图模糊的设...
    依然范特稀西阅读 46,273评论 19 203
  • 昨天逛了一整天,今天早上休息,原本应该去上英语课的,大家都偷懒没有去。 下午一个孕妈妈开车带我们5个DDP去了梅西...
    HannaXie阅读 1,886评论 1 2

友情链接更多精彩内容