我也用java实现过一次模糊算法,不过那实在是太慢了,后来就放弃了

解决方案 »

  1.   

    恩,速度相当慢啊!现在在考虑用opencv做
      

  2.   

    给你个准确的答案(本人刚做过的一个项目,类似Instagram中的blur效果,可以达到实时,你可以看一下Instagram),实现方案:1,使用一个固定的模糊图像做为模板,叠放在原始图像上模仿模糊的效果,注意,这个模板在使用的时候要根据你需要的具体尺寸进行缩放,这一步对于S4这种1920*1080大小的图像可以实现10ms内完成;2,对于底层生成的效果图,当然是使用C写的模糊算法对原始图像进行处理,保存即可,这一步时间较长,即使是C,对于1920*1080这么大的图像,进行一次高斯模糊也需要100ms以上的时间;3,如果你纯用C算法操作,也很难达到实时效果;4,如果你只使用图像叠加模拟模糊效果,明显效果不对;由于保密原因,暂无法提供源码,原理清楚,应该没问题的!
      

  3.   

    我现在的最佳效果测试:S4上1080*1920的图可以在60ms一下搞定,当然最终效果图是后台异步生成的,这个不影响用户的体验的!同时还有的 测试机如下:金立E7,小米3,Note2,魅族MX2,S3,这些手机基本效果都要好于S4;不要盲目认为S4 比S3 好,经我们内部测试,至少对于图像算法方面,S4不如S3的!
      

  4.   

    实际的处理要大幅度缩减速度 应该计算图片大小 然后将图片缩小到一定尺寸 然后进行模糊  模糊完后等比例放大到原来大小 这样模糊效果如果不是有大量横线情况下 基本还不错而且速度即使只用Java 实现高斯模糊算法 也可以控制在100ms内
      

  5.   

    现在看到这个问题才发现忘记说解决方案了,我最后是参考这个例子实现的
    https://github.com/kikoso/android-stackblur