标签:
GPUImage 是iOS下一个开源的基于GPU的图像处理库,提供各种各样的图像处理滤镜,并且支持照相机和摄像机的实时滤镜。GPUImage for Android是它在Android下的实现,同样也是开源的,托管在Github上。
版本:android-gpuimage-1.1.1
Android模拟器上不支持OpenGL ES 2.0所以会报错,可以选用Genymotion测试,或真机上运行。
<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原图
// 读取图像 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);
// 读取图像 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);
Android图像处理之GPUImage for Android
标签:
原文地址:http://blog.csdn.net/u014316982/article/details/42152957