分析整理Android的开源滤镜
Posted 赤耳A狼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分析整理Android的开源滤镜相关的知识,希望对你有一定的参考价值。
1.GPUImage for android(推荐使用)
GPUImage基于OpenGL实现的各种各样图像滤镜(图像处理)效果,多达50多种,
idea源于GPUImage for ios,基本囊括了最常见的图像处理效果,包括:contrast,hue,
gamma,brightness,sharpness,emboss,saturation,exposure,shadow,blend 等,
是功能十分强大、又十分易用的图像处理库,还支持照相机和摄像机的实时滤镜,而正因为
是基于GPU的图像加速,所以图像处理速度非常快.
Sample Code
With preview:
@Override public void onCreate(final Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.activity); Uri imageUri = ...; mGPUImage = new GPUImage(this); mGPUImage.setGLSurfaceView((GLSurfaceView) findViewById(R.id.surfaceView)); mGPUImage.setImage(imageUri); // this loads image on the current thread, should be run in a thread mGPUImage.setFilter(new GPUImageSepiaFilter()); // Later when image should be saved saved: mGPUImage.saveToPictures("GPUImage", "ImageWithFilter.jpg", null);
Without preview:
Uri imageUri = ...; mGPUImage = new GPUImage(context); mGPUImage.setFilter(new GPUImageSobelEdgeDetection()); mGPUImage.setImage(imageUri); mGPUImage.saveToPictures("GPUImage", "ImageWithFilter.jpg", null);
注:由于用到OpenGL ES 2.0,仅能在真机中测试. https://github.com/CyberAgent/android-gpuimage
2.ImageFilterForAndroid
是由一个名叫戴震军的大牛写的,Android,ios,windows phone3个平台都写了,说
是历经三个多月的开发就完成了,用到的开发语言主要有使用了C++,JAVA,C#。
目前已正式投入到生产环境中.为了实现三种语言一种命名方式,作者采用了相
同的类名,接口,namespace(package)。据说只要熟悉了其中一个平台的代码,
就可以很顺利的写出另外两个平台的滤镜代码(作者承诺后续还会加入更多的滤
镜效果)。该库基于LGPL协议,可以将其免费用于自己项目及产品中(包括商业
项目).当然也可以私下和作者洽谈合作事宜
http://www.cnblogs.com/daizhj/archive/2012/05/15/2501406.html
https://github.com/daizhenjun/ImageFilterForAndroid
3.Android内置滤镜
颜色滤镜--http://blog.sina.com.cn/s/blog_5da93c8f01012pkj.html
利用一些滤镜算法--http://blog.csdn.net/jingwen3699/article/details/7770287
Android系统将内置滤镜功能(有二十余种不同效果),颜色矩阵 ColorMatrix--相关介绍
4.OpenCV
全称是:Open Source Computer Vision Library.OpenCV是一个基于(开源)发行的跨平台计算机视觉库,可以运
行在Linux,Windows和Mac OS操作系统上.它轻量级而且高效——由一系列 C 函数和少量 C++ 类,同时提供Python,Ru
by,MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法.这个并不是真正专门用作滤镜的库,但是
可以通过其实现一定量的滤镜效果.不过,配置用法比较麻烦.
http://blog.csdn.net/yanzi1225627/article/details/16917961
http://blog.csdn.net/sangni007/article/category/1106771/1
5.其他一些开源滤镜
资料较少,适用人群也不多,目前不建议采用,可参考
https://github.com/ragnraok/android-image-filter
http://www.jhlabs.com/ip/filters/index.html
http://phenom.iteye.com/blog/1575975
以上是关于分析整理Android的开源滤镜的主要内容,如果未能解决你的问题,请参考以下文章