Android 高斯模糊总结

字数 400阅读 748

总结现有的高斯模糊效果

1: 实现语言

Java : 这个效率最低。 (运行在虚拟机上, 单CPU运算)
C++: 这个效率中等。 (Native Code, 单CPU运算)
RenderScript: 这个效率最高。 (低级语言, 运行时机器再次优化编译, 可以均衡的运行在多个CPU 和 GPU上)

看来上面介绍, 就运行速率来说, 应该比较容易分出高下。

2: 实现方式

Java: 采用了网上的FastBlur
C++: 实现了两种(1: 标准高斯模糊算法 2:均值模糊 【PS: 三次均值模糊效果和高斯模糊差不多】)
RenderScript: 这里没有具体实现方法 参考 android-support-v8(RenderScript库 而且还有一个半径限制小于25的限制)

现有高斯模糊速率的对比

高斯模糊时间.png
device-2016-07-26-160127.png

对比效果还是比较清晰的。
有条件的话还是上 RenderScript 比较好 (如果想突破半径25的限制的话, 最简单的方法是自己实现这个V8库[昨天想了下为何Google设置这个25的限制, 原因应该有两个 1: 半径大于25的话耗时就成为了一个瓶颈 2: 如果想实现大于25的模糊效果, 可以通过缩小原图,模糊,再放大来达到同样的效果])。

代码

PS: 参考了网上的一些资料, 时间久了, 出处不好找了, 就在这里感谢网上的各位大神。

推荐阅读更多精彩内容