GPUImage简单说明

来源:互联网 发布:淘宝1元秒杀怎么抢 编辑:程序博客网 时间:2024/06/08 12:08

from: http://www.cnblogs.com/yingkong1987/archive/2013/04/01/2993305.html


GPUImage简单说明

一、介绍

GPUImage是Brad Larson在github托管的一个开源项目,项目实现了图片滤镜、摄像头实时滤镜,该项目的优点不但在于滤镜很多,而且处理效果是基于GPU的,比使用CPU性能更高。

二、类库

1.输入源

在Sources文件夹下包含了GPUImageVideoCamera相机视频输入源,GPUImageStillCamera相机图像输入源,GPUImagePicture静态图片输入源,GPUImageMovie视频输入源。

2.通道

GPUImageFilterPipeline将输入源利用滤镜组投射到输出界面上。

3.滤镜

3.1调整颜色的滤镜

12345678910111213141516171819202122232425262728293031
GPUImageBrightnessFilter//亮度GPUImageExposureFilter//曝光GPUImageContrastFilter//对比度GPUImageSaturationFilter//饱和度GPUImageGammaFilter//伽马线GPUImageLevelsFilterGPUImageColorMatrixFilterGPUImageRGBFilterGPUImageHueFilterGPUImageToneCurveFilterGPUImageHighlightShadowFilterGPUImageLookupFilterGPUImageAmatorkaFilterGPUImageMissEtikateFilterGPUImageSoftEleganceFilterGPUImageColorInvertFilterGPUImageGrayscaleFilterGPUImageMonochromeFilterGPUImageFalseColorFilterGPUImageHazeFilterGPUImageSepiaFilterGPUImageOpacityFilterGPUImageSolidColorGeneratorGPUImageLuminanceThresholdFilterGPUImageAdaptiveThresholdFilterGPUImageAverageLuminanceThresholdFilterGPUImageHistogramFilterGPUImageHistogramGeneratorGPUImageAverageColorGPUImageLuminosityGPUImageChromaKeyFilter

3.2图像处理

1234567891011121314151617181920212223242526272829303132333435363738394041
GPUImageTransformFilter//变化GPUImageCropFilter//GPUImageLanczosResamplingFilterGPUImageSharpenFilterGPUImageUnsharpMaskFilterGPUImageFastBlurFilterGPUImageSingleComponentFastBlurFilterGPUImageGaussianBlurFilterGPUImageSingleComponentGaussianBlurFilterGPUImageGaussianSelectiveBlurFilterGPUImageGaussianBlurPositionFilterGPUImageMedianFilterGPUImageBilateralFilterGPUImageTiltShiftFilterGPUImageBoxBlurFilterGPUImage3x3ConvolutionFilterGPUImageSobelEdgeDetectionFilterGPUImageThresholdEdgeDetectionFilterGPUImageCannyEdgeDetectionFilterGPUImageHarrisCornerDetectionFilterGPUImageNobleCornerDetectionFilterGPUImageShiTomasiCornerDetectionFilterGPUImageNonMaximumSuppressionFilterGPUImageXYDerivativeFilterGPUImageCrosshairGeneratorGPUImageDilationFilterGPUImageRGBDilationFilterGPUImageErosionFilterGPUImageRGBErosionFilterGPUImageOpeningFilterGPUImageRGBOpeningFilterGPUImageClosingFilterGPUImageRGBClosingFilterGPUImageLocalBinaryPatternFilterGPUImageLowPassFilterGPUImageHighPassFilterGPUImageMotionDetectorGPUImageHoughTransformLineDetectorGPUImageLineGeneratorGPUImageMotionBlurFilterGPUImageZoomBlurFilter

3.3混合模式

12345678910111213141516171819202122232425262728
GPUImageChromaKeyBlendFilterGPUImageDissolveBlendFilterGPUImageMultiplyBlendFilterGPUImageAddBlendFilterGPUImageSubtractBlendFilterGPUImageDivideBlendFilterGPUImageOverlayBlendFilterGPUImageDarkenBlendFilterGPUImageLightenBlendFilterGPUImageColorBurnBlendFilterGPUImageColorDodgeBlendFilterGPUImageScreenBlendFilterGPUImageExclusionBlendFilterGPUImageDifferenceBlendFilterGPUImageHardLightBlendFilterGPUImageSoftLightBlendFilterGPUImageAlphaBlendFilterGPUImageSourceOverBlendFilterGPUImageColorBurnBlendFilterGPUImageColorDodgeBlendFilterGPUImageNormalBlendFilterGPUImageColorBlendFilterGPUImageHueBlendFilterGPUImageSaturationBlendFilterGPUImageLuminosityBlendFilterGPUImageLinearBurnBlendFilterGPUImagePoissonBlendFilterGPUImageMaskFilter

3.4视觉效果

12345678910111213141516171819202122232425
GPUImagePixellateFilterGPUImagePolarPixellateFilterGPUImagePolkaDotFilterGPUImageHalftoneFilterGPUImageCrosshatchFilterGPUImageSketchFilterGPUImageThresholdSketchFilterGPUImageToonFilterGPUImageSmoothToonFilterGPUImageEmbossFilterGPUImagePosterizeFilterGPUImageSwirlFilterGPUImageBulgeDistortionFilterGPUImagePinchDistortionFilterGPUImageStretchDistortionFilterGPUImageSphereRefractionFilterGPUImageGlassSphereFilterGPUImageVignetteFilterGPUImageKuwaharaFilterGPUImageKuwaharaRadius3FilterGPUImagePerlinNoiseFilterGPUImageCGAColorspaceFilterGPUImageMosaicFilterGPUImageJFAVoronoiFilterGPUImageVoronoiConsumerFilter

3.5.输出

在Outputs文件夹下,GPUImageView常用输出view,GPUImageMovieWriter视频重编码。

三、使用

1.将GPUImage工程拖到需要图像滤镜处理的工程中,导入框架

  • CoreMedia
  • CoreVideo
  • OpenGLES
  • AVFoundation
  • QuartzCore

2.在使用GPUImage的类中,引入#import “GPUImage.h”

3.创建一个输入源。如:

1
GPUImagePicture *staticPicture = [[GPUImagePicture alloc] initWithImage:stillImagesmoothlyScaleOutput:YES];

4.创建滤镜。如:

1
GPUImageFalseColorFilter *filter = [[GPUImageFalseColorFilter alloc] init];

5.创建输出界面。如:

1
GPUImageView *filteredVideoView = [[GPUImageView alloc] initWithFrame:CGRectMake(0.0, 0.0, viewWidth, viewHeight)];

也可将自己现成的view,作为输出界面,强制类型转换(GPUImageView*)self.view。
6.创建通道。如:

1
GPUImageFilterPipeline *pipeline = [[GPUImageFilterPipeline alloc]initWithOrderedFilters:arrayTempinput:staticPictureoutput:(GPUImageView*)self.view];

7.图片图像处理

12
[staticPicture processImage];[videoCamera startCameraCapture];

四、下载

github下载

注:后面会把每个滤镜的基本功能注释码上

 
0 0
原创粉丝点击