GPUImage简单说明
生活随笔
收集整理的這篇文章主要介紹了
GPUImage简单说明
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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調整顏色的濾鏡
| 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 |
3.2圖像處理
| 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 32 33 34 35 36 37 38 39 40 41 | 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 |
3.3混合模式
| 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 |
3.4視覺效果
| 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 |
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.圖片圖像處理
| 1 2 | [staticPicture processImage]; [videoCamera startCameraCapture]; |
四、下載
github下載
注:后面會把每個濾鏡的基本功能注釋碼上
總結
以上是生活随笔為你收集整理的GPUImage简单说明的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: A new image format f
- 下一篇: AVFoundation和 GPUIma