首页 > 其他分享 >iOS开发之GPUImage研究总结,视频、图片等添加滤镜(转载)

iOS开发之GPUImage研究总结,视频、图片等添加滤镜(转载)

时间:2022-12-28 15:03:38浏览次数:53  
标签:http 效果 url 模糊 iOS 滤镜 import 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的结构图:

iOS开发之GPUImage研究总结,视频、图片等添加滤镜(转载)_GPUImage



iOS开发之GPUImage研究总结,视频、图片等添加滤镜(转载)_图片_02

Part two: 有关GPUImage的研究成果

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

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


Part Three: 有关GPUImage的导入方式

iOS GPUImage研究序二:更简单GPUImage导入方式 

Part Fo​​ub.com/Guikunzhi/BeautifyFaceDemo​​​ 
已经没办法运行,需要cd 文件夹 pod install


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

2、  文章不错

文章不错

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

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

Apple官方对视频流的处理,GPUImage中的VideoCamera部分代码就是根据这个写的

4、
我写的不怎么样有时候会蹦,基于coreImage在GPU渲染,图像处理的不好,但能正常运行。

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

 

 

标签:http,效果,url,模糊,iOS,滤镜,import,GPUImage
From: https://blog.51cto.com/u_15894905/5974529

相关文章

  • Axios 中文说明
     Axios是一个基于promise的HTTP库,可以用在浏览器和node.js中。Features从浏览器中创建 ​​XMLHttpRequests​​从node.js创建 ​​http​​ 请求支持 ​​P......
  • WWDC 2013 Session笔记 - iOS7中的ViewController切换
    这是我的WWDC2013系列笔记中的一篇,完整的笔记列表请参看​​这篇总览​​​。本文仅作为个人记录使用,也欢迎在​​许可协议​​​范围内转载或使用,但是还烦请保留原文链接,谢......
  • IOS MoarFonts——字体定制:所见即所得
    MoarFontsUsecustomfontsforyouriOSprojectsdirectlyinInterfaceBuilder,theWYSIWYGwaybyCédricLuthi“​​0xced​​”AboutSinceiOS3.2,youcanuse......
  • 在iOS 7中使用storyboard(part 1)
    Storyboard是一项令人兴奋的功能,在iOS5中首次推出,在开发app的界面时可以极大地节省时间。 如下图所示,这就是一个完整的应用的storyboard,接下来我们要学......
  • UITabBarController 标签栏控制器-IOS开发
    在UIKit中UITabbar代表了标签栏,而UITabBarController对其进行了封装,令多个不同的视图管理与切换变的更加轻松。构建一个标签栏控制器,首先要为每个按钮准备一个单独的页......
  • sqlite 实例教程 IOS下用sqlite打造词典-IOS开发
    sqlite是个好东西,对于移动平台来说。一直想写有关sqlite的教程,但是不知道从何写起,考虑了很久,还是从一个小Demo谈起吧。我写了一个精简版的词典,实现了增删查改的基本功能。......
  • iOS中登錄功能的體驗探究
    登錄功能是我在​​湖畔​​做的第一個需求。 當時PD给我的草圖和下圖類似:(圖片來自知乎iOS客戶端登錄界面) 不過需求中要求用戶名或者密碼錯誤時,輸入框要抖動(類似Mac登錄密......
  • IOS 6 自动布局 入门-1
    这篇文章还可以在这里找到 ​​英语​​​, ​​韩语​​​, ​​土耳其语​​​​​​来自Ray:恭喜各位!你们已经通过宣传​​iosfeast​​提前解锁了第一个有关IOS6的教......
  • iOS学习笔记45—本地通知UILocalNotification
    在iOS中有两类信息提示推送方式,一类是远程服务器推送(APNS),之前有笔记9​​,还有一类就是本地通知UILocalNotification,今天就简要的记录一下UILocalNotification的使用,代码里见......
  • iOS6下自定义UI控件外观效果
    尽管iOS原生的UI控件就已经有很不错的显示效果,但是App开发者仍然希望自己的产品与众不同,所以自定义UI外观成了每个App产品开发必做之事。今天就来做一个在iOS6下实现自定义U......