各位大神,我现在需要为应用实现模糊背景的效果,之前使用java通过高斯模糊算法对图片进行处理后设为应用的背景,效果可以完美实现,但是耗费的时间实在太多,导致操作延时,后来也试了RenderScript来实现这个效果,但是效率还是太低,所以现在考虑用c实现高斯模糊算法然后用jni调用,但是对c的使用不是很熟悉,希望高人给予指导,最好是能给出一个实例,感激不尽!!
------解决方案--------------------
我也用java实现过一次模糊算法,不过那实在是太慢了,后来就放弃了
------解决方案--------------------
直接用一张模糊透明图片合成,然后调整透明度
------解决方案--------------------
如果不是很复杂的话可以考虑做一张透明度为X的模糊图片,然后你的图片和多张模糊图片一叠加就行。
------解决方案--------------------
给你个准确的答案(本人刚做过的一个项目,类似Instagram中的blur效果,可以达到实时,你可以看一下Instagram),实现方案:1,使用一个固定的模糊图像做为模板,叠放在原始图像上模仿模糊的效果,注意,这个模板在使用的时候要根据你需要的具体尺寸进行缩放,这一步对于S4这种1920*1080大小的图像可以实现10ms内完成;2,对于底层生成的效果图,当然是使用C写的模糊算法对原始图像进行处理,保存即可,这一步时间较长,即使是C,对于1920*1080这么大的图像,进行一次高斯模糊也需要100ms以上的时间;3,如果你纯用C算法操作,也很难达到实时效果;4,如果你只使用图像叠加模拟模糊效果,明显效果不对;由于保密原因,暂无法提供源码,原理清楚,应该没问题的!
------解决方案--------------------
对了,有个笔误,是S4拍摄的图像,大小最大1920*1080;
------解决方案--------------------
我给你说的方案就是我采用的最佳方案了,要没有实践我怎么出来给你说呢?由于软件保密协议,确实不方便贴出源码,实在不好意思啊!
------解决方案--------------------
我现在的最佳效果测试:S4上1080*1920的图可以在60ms一下搞定,当然最终效果图是后台异步生成的,这个不影响用户的体验的!同时还有的 测试机如下:金立E7,小米3,Note2,魅族MX2,S3,这些手机基本效果都要好于S4;不要盲目认为S4 比S3 好,经我们内部测试,至少对于图像算法方面,S4不如S3的!