Advertisement

iOS GPUImage研究总结

阅读量:

小专栏:深入解析GPUImage源代码助你构建高效GPU图像处理框架

Part one: 关于GPUImage

这里直接引用官方描述:

The GPUImage framework is named after the BSD license under which it is distributed as an iOS library. It enables users to apply GPU-accelerated filters and various effects not only to images but also to live camera video and movies. Unlike Core Image, which is part of iOS 5.0, GPUImage provides the flexibility for users to develop custom filters and operates effectively on iOS 4.0 devices with a more straightforward interface. However, it currently does not offer some of the advanced features available in Core Image, such as facial recognition technology.

基于GPU图像处理技术的应用程序。它支持对图片、实时画面以及视频进行处理操作。该应用程序提供了自定义滤镜功能,并在iOS系统版本4.0及以上版本上运行良好。然而,在当前版本中仍无法实现诸如面部识别等高级功能。

该外链图片未能成功保存


附一张GPUImage的结构图:

这里写图片描述

图片来自:
<>

Part two:AVFoundation 系列

AVFoundation 系列五:音视频输出与处理方案
AVFoundation 系列四:专业摄像头配置指南
AVfoundation 系列三:音视频编辑技术解析
AVfoundation 系列二:基于 AVPlayer 的视频播放优化技巧
AVfoundation 系列一:高效利用 AVAsset 的方法论

Part three: 有关GPUImage的研究成果

图像处理之GPUImage图片滤镜
<>

图像处理之CPU图片滤镜
<>

在图像处理领域中, CoreImage提供了丰富的图片滤镜效果

iOS GPUImage研究的第一版:内置图像处理滤镜集合: <>

iOS GPUImage研究二的内容涉及拍摄图像到相册的过程

iOS GPUImage研究三:探讨如何在视频采集过程中实现实时滤镜的即时应用

链接内容

在iOS平台上的GPUImage项目第四部分深入探讨了如何通过滤镜功能对视频文件进行增强处理。

第五项关于iOS GPUImage的研究聚焦于短视频拍摄技术(运用滤镜效果以及完成数据保存)。

在iOS平台的GPUImage技术研究中,第六章重点讨论了在视频素材中嵌入视觉水印的技术方案。

iOS GPUImage研究七:第七章 动态相册初步探讨(水印技术)

将图片保存到本地
<>

基于IM实现直播礼物效果
<>

GPUImage 专为视频添加10种原生滤镜

GPUImage–流行的美颜滤镜 GPU Image Beautify Filter

GPUImage基于OpenGL ES 2.0,比基于CPU的图形和视频处理更快速.

GPUImage把OpenGL ES封装为简洁的Objective-C接口.


Part Three: 有关GPUImage的导入方式

第2篇 iOS GPUImage研究:简便的GPUImage导入途径

第2篇 iOS GPUImage研究:简便的GPUImage导入途径

Part Four: 相关参考资料

https://github.com/Guikunzhi/BeautifyFaceDemo
目前无法正常执行,请切换至该文件夹后进行安装操作

<>
我整理过的,去除不需要的东西2016.09.28

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

<> 文章不错

这篇文章是一篇高质量的文章,发布日期为2015年8月,在讨论基于GPU的图像处理技术方面进行了深入分析.

Apple官方在视频流处理方面采取了相应的措施,并且其中在GPUImage中所包含的VideoCamera部分代码主要参考了这一方法。

我写的不好时有发生。基于核心图像库在GPU渲染过程中进行图像处理仍能正常运行。

基于Core Image的图像处理技术参考<>一文可知,在借鉴他人经验的基础上, 我们能够较为全面地掌握这一技术.

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"               //通常用于创建两个图像之间的动画变暗模糊效果
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
    代码解释

全部评论 (0)

还没有任何评论哟~