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是一个强大的图像处理框架,它充分利用了设备的GPU(图形处理器)来执行高效的图像滤镜操作。这个"Android图片滤镜框架GPUImage演示Demo"就是一个实际的应用示例,帮助开发者了解和学习如何在Android项目中...
GPUImage for Android介绍: 实现各种各样图像滤镜(图像处理)效果,多达50多种效果,基本囊括了最常见的图像处理效果。包括:contrast,hue,gamma,brightness,sharpness,emboss,saturation,exposure,...
一、Android图像处理基础 Android提供了丰富的API来处理图像,主要涉及以下几个库: 1. Android SDK的Bitmap类:Bitmap是Android系统中处理图像的基本类,包含了加载、绘制、裁剪、缩放和颜色操作等方法。 2. ...
这个库受到了iOS平台上的GPUImage框架的启发,旨在提高图像处理的性能,尤其是在处理大量或者高分辨率图片时,能够显著减少CPU的负载。 GPU(图形处理器)相比于CPU在并行计算上有天然的优势,特别适合于像素级别的...
Android GPUImage是一个强大的开源库,专门用于在Android设备上实现高性能的图像处理和滤镜效果。这个库基于iOS上的GPUImage框架,通过利用设备的图形处理单元(GPU)来加速图像处理,相比于CPU处理,GPU并行计算的...
在Android开发中,GPUImage库是一个非常实用的工具,它允许开发者轻松地实现各种图像处理效果,包括滤镜。这个库充分利用了GPU的并行计算能力,为Android应用提供了高效且流畅的实时图像过滤功能。以下是对GPUImage...
GPUImage是一个强大的图像处理库,尤其在Android平台上,它提供了丰富的滤镜效果,可以实现对图像和视频的实时处理。这个“GPUImage组合滤镜Android”项目,正如标题所示,专注于利用GPU进行图像过滤,以实现高效且...
总结,"android-gpuimage-master"是一个强大的Android图像处理工具,它简化了在Android上实现复杂的图像滤镜和效果的过程。通过充分利用GPU的计算能力,可以在保持流畅用户体验的同时,实现丰富的图像处理功能。无论...
GPUImage Plus的核心概念是滤镜(Filter),它封装了各种图像处理算法,如模糊、锐化、色彩调整等。通过组合不同的滤镜,开发者可以创建出丰富的视觉效果,例如模仿复古照片、添加艺术风格或者进行高级的图像编辑...
在移动设备上,尤其是在Android平台上,图像处理和实时滤镜应用越来越受到用户的欢迎。Android GPUImage+项目,正如其名,是一个针对Android系统,利用OpenGL ES进行图像和相机处理的开源库。这个库的出现,极大地...
GPUImage是一个强大的开源框架,专为iOS和Android平台设计,用于实时图像处理。它利用图形处理器(GPU)的强大性能来实现高效、流畅的图像滤镜和视觉效果。GPUImage框架由Brad Larson创建,旨在简化复杂的图像滤镜和...
GPUImage 是一个强大的 iOS 和 Android 图像处理框架,由Brad Larson 开发。它利用设备的图形处理器(GPU)进行高效、实时的图像过滤和效果应用。在这个场景中,我们要讨论如何使用 GPUImage 在本地视频上添加滤镜。...
这个“GPUIMAGE安卓版本源码文件”显然是将 GPUImage 库移植到了 Android 平台,使得 Android 开发者也能利用 GPU 的并行计算能力来实现高性能的图像处理。 在 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. **OpenCV库**:OpenCV(开源计算机视觉库)是Android图像处理常用的第三方库,它提供了大量的图像处理函数,如滤波、色彩转换、边缘检测等。开发者可以利用OpenCV的API来实现图像过滤器功能。 2. **Bitmap类**:...
在Android平台上,GPUImage是一个强大的图像处理库,它利用GPU(图形处理器)的强大计算能力来实现高效的实时图像过滤和特效。GPUImage对于开发者来说是一个非常有用的工具,它可以帮助我们在应用程序中轻松添加各种...
- GPUImage 的核心理念是利用 GPU 进行图像处理,而不是依赖于 CPU。相较于 CPU,GPU 更适合执行大量并行计算,因此在处理图像和视频时速度更快,效率更高,对设备电池寿命的影响也相对较小。 2. **实时滤镜**: ...
GPUImage 是一个强大的开源iOS和Android图像处理框架,由Brad Larson开发。这个框架利用了图形处理器(GPU)的强大计算能力,实现了高效的实时图像过滤、视频处理和计算机视觉任务。GPUImage-master.zip 包含了该...