GPUImage 是iOS下一个开源的基于GPU的图像处理库,提供各种各样的图像处理滤镜,并且支持照相机和摄像机的实时滤镜。
GPUImage for Android是它在Android下的实现,同样也是开源的,托管在Github上。
版本:android-gpuimage-1.1.1
Android模拟器上不支持OpenGL ES 2.0所以会报错,可以选用
Genymotion测试,或真机上运行。
引用
Caused by: java.lang.IllegalStateException: OpenGL ES 2.0 is not supported on this phone.
(1)使用自定义的ImageView
<jp.co.cyberagent.android.gpuimage.GPUImageView
android:id="@+id/gpuimage"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_gravity="center"
android:layout_weight="1" />
mImageView.setFilter(new GPUImageSepiaFilter()); // sepia
mImageView.setFilter(new GPUImageGrayscaleFilter()); // gray
mImageView.setFilter(new GPUImageSharpenFilter()); // sharp
mImageView.setFilter(new GPUImageSobelEdgeDetection()); // edge
原图:
sepia后:
gray后:
sharp后:
edge后:
(2) 处理Assets中的文件
// 读取图像
AssetManager as = getAssets();
InputStream is = null;
Bitmap bitmap = null;
try {
is = as.open("dog.jpg");
bitmap = BitmapFactory.decodeStream(is);
is.close();
} catch (IOException e) {
Log.e("MainActivity", "Error");
}
// 使用GPUImage处理图像
GPUImage gpuImage = new GPUImage(this);
gpuImage.setImage(bitmap);
gpuImage.setFilter(new GPUImageToonFilter());
bitmap = gpuImage.getBitmapWithFilterApplied();
// 在ImageView中显示处理后的图像
ImageView view = new ImageView(this);
view.setImageBitmap(bitmap);
setContentView(view);
(3)使用Photoshop的acv文件
// 读取图像
AssetManager as = getAssets();
InputStream is = null;
Bitmap bitmap = null;
try {
is = as.open("dog.jpg");
bitmap = BitmapFactory.decodeStream(is);
is.close();
} catch (IOException e) {
Log.e("MainActivity", "Error");
}
// 读取Photoshop的acv文件
GPUImageToneCurveFilter filter = new GPUImageToneCurveFilter();
try {
is = as.open("tone_curve.acv");
filter.setFromCurveFileInputStream(is);
is.close();
} catch (IOException e) {
Log.e("MainActivity", "Error");
}
// 使用GPUImage处理图像
GPUImage gpuImage = new GPUImage(self);
gpuImage.setImage(bitmap);
gpuImage.setFilter(filter);
bitmap = gpuImage.getBitmapWithFilterApplied();
// 在ImageView中显示处理后的图像
ImageView view = new ImageView(self);
view.setImageBitmap(bitmap);
setContentView(view);
- 大小: 336.9 KB
- 大小: 255.2 KB
- 大小: 208.9 KB
- 大小: 357.5 KB
- 大小: 218.8 KB
分享到:
相关推荐
GPUImage for Android介绍: 实现各种各样图像滤镜(图像处理)效果,多达50多种效果,基本囊括了最常见的图像处理效果。包括:contrast,hue,gamma,brightness,sharpness,emboss,saturation,exposure,...
Android GPUImage图像滤镜(图像处理)效果源码
GPUImage for Android介绍: 实现各种各样图像滤镜(图像处理)效果,多达50多种效果,基本囊括了最常见的图像处理效果。包括:contrast,hue,gamma,brightness,sharpness,emboss,saturation,exposure,...
实现各种各样图像滤镜(图像处理)效果,多达50多种效果,基本囊括了最常见的图像处理效果。包括:contrast,hue,gamma,brightness,sharpness,emboss,saturation,exposure,shadow,blend等等。 由于需要...
一。项目功能 1.对图片进行滤镜处理 2.相机预览滤镜处理, 并实现可拍照和录制视频的功能 二。效果演示 图片滤镜 相机滤镜 ...此项目基于wysaid的android-gpuimage-plus封装实现,感谢wysaid。
图形处理器 这是一个项目实时图像或视频处理库(想法来自一个流行的 iOS 库 GPUImage: : )
GPUImage 是iOS下一个开源的基于GPU的图像处理库,提供各种各样的图像处理滤镜,并且支持照相机和摄像机的实时滤镜。
GPU:(Graphic Processor Unit图形处理单元)手机或者电脑用于图像处理和渲染的硬件 GPU工作原理:CPU指定显示控制器工作,显示控制器根据CPU的控制到指定的地方去取数据和指令, 目前的数据一般是从显存里取,...
支持实时摄像头滤镜的GPUImage是iOS下一个开源的基于GPU的图像处理库,提供各种各样的图像处理滤镜,并且支持照相机和摄像机的实时滤镜。GPUImage for Android是它在Android下的实现,同样也是开源的,托管在Github...
ImageEffectFilter使用图层可绘制和效果工厂android处理Android图像过滤器。 如果要从Android的效果工厂中选择效果,请选择效果工厂(使用最低API 14)。 w w ImageEffectFilter使用图层可绘制和效果工厂android处理...
GPUImage是一个基于OpenGL ES 2.0的开源的图像处理库,作者是Brad Larson。GPUImage将OpenGL ES封装为简洁的Objective-C或Swift接口,可以用来给图像、实时相机视频、电影等添加滤镜。
软模式滤波器可以通过处理从相机捕获的 NV21 图像阵列来实现 硬模式过滤器可以通过渲染从相机捕获的图像纹理来实现 兼容GPUImage,使用GPUImageFilter不改一行 支持像素旋转和翻转 支持分辨率、比特率、fps等编码...
提供类似GPUImage里的Filter的API,可以在使用画布GL画东西时实现图像处理。提供的View是继承GLSurfaceView或TextureView的,可以使用这两种View的特性,特别是TextureView的特性。另外,因为使用OpenGL在另一线程...
支持实时摄像头滤镜的GPUImage是iOS下一个开源的基于GPU的图像处理库,提供各种各样的图像处理滤镜,并且支持照相机和摄像机的实时滤镜。GPUImage for Android是它在Android下的实现,同样也是开源的,托管在Github...
可以通过处理从相机捕获的NV21图像阵列来实现软模式滤波器 硬模式滤镜可以通过渲染从相机捕获的图像纹理来实现 与GPUImage兼容,使用GPUImageFilter无需更改一行 支持像素旋转和翻转 支持编码参数,例如分辨率,...
支持实时摄像头滤镜的GPUImage是iOS下一个开源的基于GPU的图像处理库,提供各种各样的图像处理滤镜,并且支持照相机和摄像机的实时滤镜。GPUImage for Android是它在Android下的实现,同样也是开源
Android通用流行框架大全 1. 缓存 ...Picasso-transformations一个为Picasso提供多种图片变换的库Glide-transformations一个为Glide提供多种图片变换的库Android-gpuimage基于OpenGL的Android过
这是实现多种样式图像Image滤镜效果,实现各种各样图像滤镜(图像处理)效果,多达50多种效果,基本囊括了最常见的图像处理效果。包括:contrast,hue,gamma,brightness,sharpness,emboss,saturation,exposure...
在 iOS 中,对视频进行图像处理一般有两种方式: GPUImage 和 AVFoundation 。 一、GPUImage 在之前的文章中,我们对 GPUImage 已经有了一定的了解。之前一般使用它对摄像头采集的图像数据进行处理,然而,它对本地...