GPUImage简单说明
2015-10-30 10:56
417 查看
from: /article/5214106.html
GPUImage简单说明
一、介绍
GPUImage是Brad Larson在github托管的一个开源项目,项目实现了图片滤镜、摄像头实时滤镜,该项目的优点不但在于滤镜很多,而且处理效果是基于GPU的,比使用CPU性能更高。
二、类库
1.输入源在Sources文件夹下包含了GPUImageVideoCamera相机视频输入源,GPUImageStillCamera相机图像输入源,GPUImagePicture静态图片输入源,GPUImageMovie视频输入源。
2.通道
GPUImageFilterPipeline将输入源利用滤镜组投射到输出界面上。
3.滤镜
3.1调整颜色的滤镜
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | GPUImageBrightnessFilter//亮度 GPUImageExposureFilter//曝光 GPUImageContrastFilter//对比度 GPUImageSaturationFilter//饱和度 GPUImageGammaFilter//伽马线 GPUImageLevelsFilter GPUImageColorMatrixFilter GPUImageRGBFilter GPUImageHueFilter GPUImageToneCurveFilter GPUImageHighlightShadowFilter GPUImageLookupFilter GPUImageAmatorkaFilter GPUImageMissEtikateFilter GPUImageSoftEleganceFilter GPUImageColorInvertFilter GPUImageGrayscaleFilter GPUImageMonochromeFilter GPUImageFalseColorFilter GPUImageHazeFilter GPUImageSepiaFilter GPUImageOpacityFilter GPUImageSolidColorGenerator GPUImageLuminanceThresholdFilter GPUImageAdaptiveThresholdFilter GPUImageAverageLuminanceThresholdFilter GPUImageHistogramFilter GPUImageHistogramGenerator GPUImageAverageColor GPUImageLuminosity GPUImageChromaKeyFilter |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 3132 | GPUImageTransformFilter//变化 GPUImageCropFilter// GPUImageLanczosResamplingFilter GPUImageSharpenFilter GPUImageUnsharpMaskFilter GPUImageFastBlurFilter GPUImageSingleComponentFastBlurFilter GPUImageGaussianBlurFilter GPUImageSingleComponentGaussianBlurFilter GPUImageGaussianSelectiveBlurFilter GPUImageGaussianBlurPositionFilter GPUImageMedianFilter GPUImageBilateralFilter GPUImageTiltShiftFilter GPUImageBoxBlurFilter GPUImage3x3ConvolutionFilter GPUImageSobelEdgeDetectionFilter GPUImageThresholdEdgeDetectionFilter GPUImageCannyEdgeDetectionFilter GPUImageHarrisCornerDetectionFilter GPUImageNobleCornerDetectionFilter GPUImageShiTomasiCornerDetectionFilter GPUImageNonMaximumSuppressionFilter GPUImageXYDerivativeFilter GPUImageCrosshairGenerator GPUImageDilationFilter GPUImageRGBDilationFilter GPUImageErosionFilter GPUImageRGBErosionFilter GPUImageOpeningFilter GPUImageRGBOpeningFilter GPUImageClosingFilter GPUImageRGBClosingFilter GPUImageLocalBinaryPatternFilter GPUImageLowPassFilter GPUImageHighPassFilter GPUImageMotionDetector GPUImageHoughTransformLineDetector GPUImageLineGenerator GPUImageMotionBlurFilter GPUImageZoomBlurFilter |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | GPUImageChromaKeyBlendFilter GPUImageDissolveBlendFilter GPUImageMultiplyBlendFilter GPUImageAddBlendFilter GPUImageSubtractBlendFilter GPUImageDivideBlendFilter GPUImageOverlayBlendFilter GPUImageDarkenBlendFilter GPUImageLightenBlendFilter GPUImageColorBurnBlendFilter GPUImageColorDodgeBlendFilter GPUImageScreenBlendFilter GPUImageExclusionBlendFilter GPUImageDifferenceBlendFilter GPUImageHardLightBlendFilter GPUImageSoftLightBlendFilter GPUImageAlphaBlendFilter GPUImageSourceOverBlendFilter GPUImageColorBurnBlendFilter GPUImageColorDodgeBlendFilter GPUImageNormalBlendFilter GPUImageColorBlendFilter GPUImageHueBlendFilter GPUImageSaturationBlendFilter GPUImageLuminosityBlendFilter GPUImageLinearBurnBlendFilter GPUImagePoissonBlendFilter GPUImageMaskFilter |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | GPUImagePixellateFilter GPUImagePolarPixellateFilter GPUImagePolkaDotFilter GPUImageHalftoneFilter GPUImageCrosshatchFilter GPUImageSketchFilter GPUImageThresholdSketchFilter GPUImageToonFilter GPUImageSmoothToonFilter GPUImageEmbossFilter GPUImagePosterizeFilter GPUImageSwirlFilter GPUImageBulgeDistortionFilter GPUImagePinchDistortionFilter GPUImageStretchDistortionFilter GPUImageSphereRefractionFilter GPUImageGlassSphereFilter GPUImageVignetteFilter GPUImageKuwaharaFilter GPUImageKuwaharaRadius3Filter GPUImagePerlinNoiseFilter GPUImageCGAColorspaceFilter GPUImageMosaicFilter GPUImageJFAVoronoiFilter GPUImageVoronoiConsumerFilter |
在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]; |
1 | GPUImageFalseColorFilter *filter = [[GPUImageFalseColorFilter alloc] init]; |
1 | GPUImageView *filteredVideoView = [[GPUImageView alloc] initWithFrame:CGRectMake(0.0, 0.0, viewWidth, viewHeight)]; |
6.创建通道。如:
1 | GPUImageFilterPipeline *pipeline = [[GPUImageFilterPipeline alloc]initWithOrderedFilters:arrayTempinput:staticPictureoutput:(GPUImageView*)self.view]; |
12 | [staticPicture processImage]; [videoCamera startCameraCapture]; |
四、下载
github下载注:后面会把每个滤镜的基本功能注释码上
相关文章推荐
- 【Quick 3.3】资源脚本加密及热更新(一)脚本加密
- Light OJ 1061 - N Queen Again(搜索+状压DP)
- Ubuntu 出现 grub rescue> 修复
- Android UI之EditText注意点收集
- UIImage加载图片的几种方式
- UIButton, 设置button的背景图片
- UILabel的常用属性
- 使用后台服务数据更新UI
- iOS中UITableView使用总结和 iOS UITableView代理方法详解
- 执行做jffs2的build.sh脚本错误————/usr/bin/ld: cannot find -lc
- Android Bluetooth蓝牙开发(三)
- iOS UILabel复制粘贴效果
- uitextfield 左侧图片
- easyui-tabs简单操作(随笔)
- iOS 7及以上,改变UIStatusBar颜色
- juery radio 选中/取消选中操作
- TestNG – Run multiple test classes (suite test)
- Number Sequence
- Do You Have Any Question for me
- 115. Distinct Subsequences (String; DP)