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
- GPUImage.h简单说明
- GPUImage简单说明
- GPUImage简单说明
- GPUImage 的简单说明
- GPUImage.h简单说明
- GPUImage简单说明
- GPUImage 的简单说明
- 开源框架GPUImage 的简单说明
- GPUIMAGE说明
- GPUIMAGE说明
- GPUImage说明
- GPUIMAGE说明
- 关于开源框架GPUImage 的简单说明
- 关于开源框架GPUImage 的简单说明
- 关于开源框架GPUImage 的简单说明
- 关于开源框架GPUImage 的简单说明
- 关于开源框架GPUImage 的简单说明
- ios 关于开源框架GPUImage的简单说明
- 解析:SaaS 2.0 时代之风起云涌
- 小议:Domain User无法远程登录Computer
- phonegap app推送新手教程与坑
- 浅析观察者模式
- 大数据并行处理框架介绍
- GPUImage简单说明
- bones脚本篇 - 实现一个简单的列表
- 数据库的恢复模式
- PHP array_slice
- gen already exists but is not a source folder. Convert to a source folder or rename it.
- Golang的select/非缓冲的Channel实例详解
- 【智能路由器】开篇
- Android6.0 新特性详解
- Codeforces Round #327 (Div. 1) D. Top Secret Task(DP)