Android GPUImage源码分析(一)简介

Android GPUImage源码分析(一) 简介

cats-oss/android-gpuimage

Android filters based on OpenGL (idea from GPUImage for iOS)

源码链接

GPUImage广泛用于图片处理摄像头摄影视频处理,比如添加滤镜、动态贴纸等功能

要求:

  • Android 2.2 or higher (OpenGL ES 2.0)

简单实用

repositories {
    jcenter()
}

dependencies {
    implementation 'jp.co.cyberagent.android:gpuimage:2.x.x'
}

使用中带GPUImageView预览时

@Override
public void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity);

    Uri imageUri = ...;
    gpuImage = new GPUImage(this);
    gpuImage.setGLSurfaceView((GLSurfaceView) findViewById(R.id.surfaceView));
    gpuImage.setImage(imageUri); // this loads image on the current thread, should be run in a thread
    gpuImage.setFilter(new GPUImageSepiaFilter());

    // Later when image should be saved saved:
    gpuImage.saveToPictures("GPUImage", "ImageWithFilter.jpg", null);
}
<jp.co.cyberagent.android.gpuimage.GPUImageView
    android:id="@+id/gpuimageview"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:gpuimage_show_loading="false"
    app:gpuimage_surface_type="texture_view" /> <!-- surface_view or texture_view -->

使用中不带预览时

public void onCreate(final Bundle savedInstanceState) {
    public void onCreate(final Bundle savedInstanceState) {
    Uri imageUri = ...;
    gpuImage = new GPUImage(context);
    gpuImage.setFilter(new GPUImageSobelEdgeDetection());
    gpuImage.setImage(imageUri);
    gpuImage.saveToPictures("GPUImage", "ImageWithFilter.jpg", null);
}

常见滤镜效果

Support status of GPUImage for iOS shaders

  •  Saturation
  •  Contrast
  •  Brightness
  •  Levels
  •  Exposure
  •  RGB
  •  RGB Diation
  •  Hue
  •  White Balance
  •  Monochrome
  •  False Color
  •  Sharpen
  •  Unsharp Mask
  •  Transform Operation
  •  Crop
  •  Gamma
  •  Highlights and Shadows
  •  Haze
  •  Sepia Tone
  •  Amatorka
  •  Miss Etikate
  •  Soft Elegance
  •  Color Inversion
  •  Solarize
  •  Vibrance
  •  Highlight and Shadow Tint
  •  Luminance
  •  Luminance Threshold
  •  Average Color
  •  Average Luminance
  •  Average Luminance Threshold
  •  Adaptive Threshold
  •  Polar Pixellate
  •  Pixellate
  •  Polka Dot
  •  Halftone
  •  Crosshatch
  •  Sobel Edge Detection
  •  Prewitt Edge Detection
  •  Canny Edge Detection
  •  Threshold Sobel EdgeDetection
  •  Harris Corner Detector
  •  Noble Corner Detector
  •  Shi Tomasi Feature Detector
  •  Colour FAST Feature Detector
  •  Low Pass Filter
  •  High Pass Filter
  •  Sketch Filter
  •  Threshold Sketch Filter
  •  Toon Filter
  •  SmoothToon Filter
  •  Tilt Shift
  •  CGA Colorspace Filter
  •  Posterize
  •  Convolution 3x3
  •  Emboss Filter
  •  Laplacian
  •  Chroma Keying
  •  Kuwahara Filter
  •  Kuwahara Radius3 Filter
  •  Vignette
  •  Gaussian Blur
  •  Box Blur
  •  Bilateral Blur
  •  Motion Blur
  •  Zoom Blur
  •  iOS Blur
  •  Median Filter
  •  Swirl Distortion
  •  Bulge Distortion
  •  Pinch Distortion
  •  Sphere Refraction
  •  Glass Sphere Refraction
  •  Stretch Distortion
  •  Dilation
  •  Erosion
  •  Opening Filter
  •  Closing Filter
  •  Local Binary Pattern
  •  Color Local Binary Pattern
  •  Dissolve Blend
  •  Chroma Key Blend
  •  Add Blend
  •  Divide Blend
  •  Multiply Blend
  •  Overlay Blend
  •  Lighten Blend
  •  Darken Blend
  •  Color Burn Blend
  •  Color Dodge Blend
  •  Linear Burn Blend
  •  Screen Blend
  •  Difference Blend
  •  Subtract Blend
  •  Exclusion Blend
  •  HardLight Blend
  •  SoftLight Blend
  •  Color Blend
  •  Hue Blend
  •  Saturation Blend
  •  Luminosity Blend
  •  Normal Blend
  •  Source Over Blend
  •  Alpha Blend
  •  Non Maximum Suppression
  •  Thresholded Non Maximum Suppression
  •  Directional Non Maximum Suppression
  •  Opacity
  •  Weak Pixel Inclusion Filter
  •  Color Matrix
  •  Directional Sobel Edge Detection
  •  Lookup
  •  Tone Curve (*.acv files)

Others

  •  Texture 3x3
  •  Gray Scale
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值