码迷,mamicode.com
首页 > 移动开发 > 详细

开源的图像滤镜库----for Android

时间:2017-07-10 13:24:31      阅读:409      评论:0      收藏:0      [点我收藏+]

标签:cat   amp   照相机   surf   建议   环境   preview   end   detection   

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

 

开源的图像滤镜库----for Android

标签:cat   amp   照相机   surf   建议   环境   preview   end   detection   

原文地址:http://www.cnblogs.com/Peit/p/7145145.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!