iOS GPUImage研究總結

Part one: 關於GPUImage

這裡直接引用官方描述:

The GPUImage framework is a BSD-licensed iOS library that lets you apply GPU-accelerated filters and other effects to images, live camera video, and movies. In comparison to Core Image (part of iOS 5.0), GPUImage allows you to write your own custom filters, supports deployment to iOS 4.0, and has a simpler interface. However, it currently lacks some of the more advanced features of Core Image, such as facial detection.

內容大意為:GPUImage是使用GPU處理影象的、他可以對圖片、實時畫面、視訊進行處理。他允許你自定義濾鏡、支援iOS4.0。然而,目前缺乏核心形象的一些更高階的功能,比如面部檢測。

這裡寫圖片描述


附一張GPUImage的結構圖:

這裡寫圖片描述


圖片來自:
http://blog.csdn.net/qq_29846663/article/details/53707482

Part two: 有關GPUImage的研究成果

影象處理之GPUImage圖片濾鏡
http://blog.csdn.net/xoxo_x/article/details/53507016

影象處理之CPU圖片濾鏡
http://blog.csdn.net/xoxo_x/article/details/53518322

影象處理之CoreImage圖片濾鏡
http://blog.csdn.net/xoxo_x/article/details/53518529

iOS GPUImage研究序一:內建濾鏡:
http://blog.csdn.net/Xoxo_x/article/details/57082804

iOS GPUImage研究二:捕獲影象stillCamera寫入相簿
http://blog.csdn.net/Xoxo_x/article/details/57086446

iOS GPUImage研究三:視訊採集並新增實時濾鏡
http://blog.csdn.net/xoxo_x/article/details/58357978

iOS GPUImage研究四:為視訊檔案新增濾鏡
http://blog.csdn.net/Xoxo_x/article/details/58818703

iOS GPUImage研究五:短視訊拍攝(濾鏡、檔案寫入)
http://blog.csdn.net/Xoxo_x/article/details/70198469

iOS GPUImage研究六:為視訊新增圖片水印
http://blog.csdn.net/xoxo_x/article/details/71055867

iOS GPUImage研究七:動態相簿初探(水印)
http://blog.csdn.net/xoxo_x/article/details/71076584

將圖片儲存到本地
http://blog.csdn.net/xoxo_x/article/details/53517878

基於IM實現直播禮物效果
http://blog.csdn.net/xoxo_x/article/details/52044388

GPUImage之為視訊新增10種原生濾鏡
http://blog.csdn.net/xoxo_x/article/details/52749033

GPUImage–流行的美顏濾鏡GPUImageBeautifyFilter
http://blog.csdn.net/xoxo_x/article/details/52743107

GPUImage基於OpenGL ES 2.0,比基於CPU的圖形和視訊處理更快速.

GPUImage把OpenGL ES封裝為簡潔的Objective-C介面.


Part Three: 有關GPUImage的匯入方式

iOS GPUImage研究序二:更簡單GPUImage匯入方式
http://blog.csdn.net/xoxo_x/article/details/60323297

Part Four: 相關參考資料

https://github.com/Guikunzhi/BeautifyFaceDemo
已經沒辦法執行,需要cd 資料夾 pod install

http://download.csdn.net/detail/xoxo_x/9642503
我整理過的,去除不需要的東西2016.09.28

2、
http://www.cnblogs.com/salam/p/4980992.html 文章不錯

http://blog.csdn.net/jcp312097937/article/details/45849341 文章不錯

http://www.ios122.com/2015/08/gpuimage/非常好的文章

3、
http://developer.apple.com/library/ios/samplecode/RosyWriter/RosyWriter.zip

Apple官方對視訊流的處理,GPUImage中的VideoCamera部分程式碼就是根據這個寫的

4、http://blog.csdn.net/Xoxo_x/article/details/52523466
我寫的不怎麼樣有時候會蹦,基於coreImage在GPU渲染,影象處理的不好,但能正常執行。

5、http://blog.csdn.net/Xoxo_x/article/details/52523912
coreImage圖片處理,看這個就可以,我也是借鑑別人的,但很全

6、
原文連結:http://nshipster.com/gpuimage/ 英文CPU與GPU的比較

https://leafduo.com/articles/2013/05/13/gpuimage/ 中文翻譯

7、這個也不錯哦https://github.com/loyinglin/GPUImage

GPUImage詳細解析(一)
http://url.cn/2FwjqIr
GPUImage詳細解析(二)
http://url.cn/2GsW2qg
GPUImage詳細解析(三)- 實時美顏濾鏡
http://url.cn/2F0SKgR
GPUImage詳細解析(四)模糊圖片處理
http://url.cn/2GX6JEQ
GPUImage詳細解析(五)濾鏡視訊錄製
http://url.cn/2GHCo71
GPUImage詳細解析(六)-用視訊做視訊水印
http://url.cn/2JrhR7V
GPUImage詳細解析(七)文字水印和動態影象水印
http://url.cn/2IzRshs
GPUImage詳細解析(八)視訊合併混音
http://url.cn/2DmUYiA
GPUImage詳細解析(九)影象的輸入輸出和濾鏡通道
http://url.cn/2EFjlGp 收起
**
下載GPUImage,地址:https://github.com/BradLarson/GPUImage
共125個濾鏡, 分為四類

    1、Color adjustments: 31 filters, 顏色處理相關
2、Image processing: 40 filters, 影象處理相關.
3、Blending modes: 29 filters, 混合模式相關.
4、Visual effects: 25 filters, 視覺效果相關.
#import <Foundation/Foundation.h>
#import "GPUImageBrightnessFilter.h"                   //亮度
#import "GPUImageExposureFilter.h"                  //曝光
#import "GPUImageContrastFilter.h"                  //對比度
#import "GPUImageSaturationFilter.h"                //飽和度
#import "GPUImageGammaFilter.h"                     //伽馬線
#import "GPUImageColorInvertFilter.h"               //反色
#import "GPUImageSepiaFilter.h"                     //褐色(懷舊)
#import "GPUImageLevelsFilter.h"                    //色階
#import "GPUImageGrayscaleFilter.h"                 //灰度
#import "GPUImageHistogramFilter.h"                 //色彩直方圖,顯示在圖片上
#import "GPUImageHistogramGenerator.h"              //色彩直方圖
#import "GPUImageRGBFilter.h"                       //RGB
#import "GPUImageToneCurveFilter.h"                 //色調曲線
#import "GPUImageMonochromeFilter.h"                //單色
#import "GPUImageOpacityFilter.h"                   //不透明度
#import "GPUImageHighlightShadowFilter.h"           //提亮陰影
#import "GPUImageFalseColorFilter.h"                //色彩替換(替換亮部和暗部色彩)
#import "GPUImageHueFilter.h"                       //色度
#import "GPUImageChromaKeyFilter.h"                 //色度鍵
#import "GPUImageWhiteBalanceFilter.h"              //白平橫
#import "GPUImageAverageColor.h"                    //畫素平均色值
#import "GPUImageSolidColorGenerator.h"             //純色
#import "GPUImageLuminosity.h"                      //亮度平均
#import "GPUImageAverageLuminanceThresholdFilter.h" //畫素色值亮度平均,影象黑白(有類似漫畫效果)
#import "GPUImageLookupFilter.h"                    //lookup 色彩調整
#import "GPUImageAmatorkaFilter.h"                  //Amatorka lookup
#import "GPUImageMissEtikateFilter.h"               //MissEtikate lookup
#import "GPUImageSoftEleganceFilter.h"              //SoftElegance lookup
#pragma mark - 影象處理 Handle Image
#import "GPUImageCrosshairGenerator.h"              //十字
#import "GPUImageLineGenerator.h"                   //線條
#import "GPUImageTransformFilter.h"                 //形狀變化
#import "GPUImageCropFilter.h"                      //剪裁
#import "GPUImageSharpenFilter.h"                   //銳化
#import "GPUImageUnsharpMaskFilter.h"               //反遮罩銳化
//#import "GPUImageFastBlurFilter.h"                  //模糊
#import "GPUImageGaussianBlurFilter.h"              //高斯模糊
#import "GPUImageGaussianSelectiveBlurFilter.h"     //高斯模糊,選擇部分清晰
#import "GPUImageBoxBlurFilter.h"                   //盒狀模糊
#import "GPUImageTiltShiftFilter.h"                 //條紋模糊,中間清晰,上下兩端模糊
#import "GPUImageMedianFilter.h"                    //中間值,有種稍微模糊邊緣的效果
#import "GPUImageBilateralFilter.h"                 //雙邊模糊
#import "GPUImageErosionFilter.h"                   //侵蝕邊緣模糊,變黑白
#import "GPUImageRGBErosionFilter.h"                //RGB侵蝕邊緣模糊,有色彩
#import "GPUImageDilationFilter.h"                  //擴充套件邊緣模糊,變黑白
#import "GPUImageRGBDilationFilter.h"               //RGB擴充套件邊緣模糊,有色彩
#import "GPUImageOpeningFilter.h"                   //黑白色調模糊
#import "GPUImageRGBOpeningFilter.h"                //彩色模糊
#import "GPUImageClosingFilter.h"                   //黑白色調模糊,暗色會被提亮
#import "GPUImageRGBClosingFilter.h"                //彩色模糊,暗色會被提亮
#import "GPUImageLanczosResamplingFilter.h"         //Lanczos重取樣,模糊效果
#import "GPUImageNonMaximumSuppressionFilter.h"     //非最大抑制,只顯示亮度最高的畫素,其他為黑
#import "GPUImageThresholdedNonMaximumSuppressionFilter.h" //與上相比,畫素丟失更多
#import "GPUImageSobelEdgeDetectionFilter.h"        //Sobel邊緣檢測演算法(白邊,黑內容,有點漫畫的反色效果)
#import "GPUImageCannyEdgeDetectionFilter.h"        //Canny邊緣檢測演算法(比上更強烈的黑白對比度)
#import "GPUImageThresholdEdgeDetectionFilter.h"    //閾值邊緣檢測(效果與上差別不大)
#import "GPUImagePrewittEdgeDetectionFilter.h"      //普瑞維特(Prewitt)邊緣檢測(效果與Sobel差不多,貌似更平滑)
#import "GPUImageXYDerivativeFilter.h"              //XYDerivative邊緣檢測,畫面以藍色為主,綠色為邊緣,帶彩色
#import "GPUImageHarrisCornerDetectionFilter.h"     //Harris角點檢測,會有綠色小十字顯示在圖片角點處
#import "GPUImageNobleCornerDetectionFilter.h"      //Noble角點檢測,檢測點更多
#import "GPUImageShiTomasiFeatureDetectionFilter.h" //ShiTomasi角點檢測,與上差別不大
#import "GPUImageMotionDetector.h"                  //動作檢測
#import "GPUImageHoughTransformLineDetector.h"      //線條檢測
#import "GPUImageParallelCoordinateLineTransformFilter.h" //平行線檢測
#import "GPUImageLocalBinaryPatternFilter.h"        //影象黑白化,並有大量噪點
#import "GPUImageLowPassFilter.h"                   //用於影象加亮
#import "GPUImageHighPassFilter.h"                  //影象低於某值時顯示為黑
#pragma mark - 視覺效果 Visual Effect
#import "GPUImageSketchFilter.h"                    //素描
#import "GPUImageThresholdSketchFilter.h"           //閥值素描,形成有噪點的素描
#import "GPUImageToonFilter.h"                      //卡通效果(黑色粗線描邊)
#import "GPUImageSmoothToonFilter.h"                //相比上面的效果更細膩,上面是粗曠的畫風
#import "GPUImageKuwaharaFilter.h"                  //桑原(Kuwahara)濾波,水粉畫的模糊效果;處理時間比較長,慎用
#import "GPUImageMosaicFilter.h"                    //黑白馬賽克
#import "GPUImagePixellateFilter.h"                 //畫素化
#import "GPUImagePolarPixellateFilter.h"            //同心圓畫素化
#import "GPUImageCrosshatchFilter.h"                //交叉線陰影,形成黑白網狀畫面
#import "GPUImageColorPackingFilter.h"              //色彩丟失,模糊(類似監控攝像效果)
#import "GPUImageVignetteFilter.h"                  //暈影,形成黑色圓形邊緣,突出中間影象的效果
#import "GPUImageSwirlFilter.h"                     //漩渦,中間形成捲曲的畫面
#import "GPUImageBulgeDistortionFilter.h"           //凸起失真,魚眼效果
#import "GPUImagePinchDistortionFilter.h"           //收縮失真,凹面鏡
#import "GPUImageStretchDistortionFilter.h"         //伸展失真,哈哈鏡
#import "GPUImageGlassSphereFilter.h"               //水晶球效果
#import "GPUImageSphereRefractionFilter.h"          //球形折射,圖形倒立
#import "GPUImagePosterizeFilter.h"                 //色調分離,形成噪點效果
#import "GPUImageCGAColorspaceFilter.h"             //CGA色彩濾鏡,形成黑、淺藍、紫色塊的畫面
#import "GPUImagePerlinNoiseFilter.h"               //柏林噪點,花邊噪點
#import "GPUImage3x3ConvolutionFilter.h"            //3x3卷積,高亮大色塊變黑,加亮邊緣、線條等
#import "GPUImageEmbossFilter.h"                    //浮雕效果,帶有點3d的感覺
#import "GPUImagePolkaDotFilter.h"                  //畫素圓點花樣
#import "GPUImageHalftoneFilter.h"                  //點染,影象黑白化,由黑點構成原圖的大致圖形
#pragma mark - 混合模式 Blend
#import "GPUImageMultiplyBlendFilter.h"             //通常用於建立陰影和深度效果
#import "GPUImageNormalBlendFilter.h"               //正常
#import "GPUImageAlphaBlendFilter.h"                //透明混合,通常用於在背景上應用前景的透明度
#import "GPUImageDissolveBlendFilter.h"             //溶解
#import "GPUImageOverlayBlendFilter.h"              //疊加,通常用於建立陰影效果
#import "GPUImageDarkenBlendFilter.h"               //加深混合,通常用於重疊型別
#import "GPUImageLightenBlendFilter.h"              //減淡混合,通常用於重疊型別
#import "GPUImageSourceOverBlendFilter.h"           //源混合
#import "GPUImageColorBurnBlendFilter.h"            //色彩加深混合
#import "GPUImageColorDodgeBlendFilter.h"           //色彩減淡混合
#import "GPUImageScreenBlendFilter.h"               //螢幕包裹,通常用於建立亮點和鏡頭眩光
#import "GPUImageExclusionBlendFilter.h"            //排除混合
#import "GPUImageDifferenceBlendFilter.h"           //差異混合,通常用於建立更多變動的顏色
#import "GPUImageSubtractBlendFilter.h"             //差值混合,通常用於建立兩個影象之間的動畫變暗模糊效果
#import "GPUImageHardLightBlendFilter.h"            //強光混合,通常用於建立陰影效果
#import "GPUImageSoftLightBlendFilter.h"            //柔光混合
#import "GPUImageChromaKeyBlendFilter.h"            //色度鍵混合
#import "GPUImageMaskFilter.h"                      //遮罩混合
#import "GPUImageHazeFilter.h"                      //朦朧加暗
#import "GPUImageLuminanceThresholdFilter.h"        //亮度閾
#import "GPUImageAdaptiveThresholdFilter.h"         //自適應閾值
#import "GPUImageAddBlendFilter.h"                  //通常用於建立兩個影象之間的動畫變亮模糊效果
#import "GPUImageDivideBlendFilter.h"               //通常用於建立兩個影象之間的動畫變暗模糊效果