iOS GPUImage研究序一:内置滤镜

来源:互联网 发布:网络盒子加密软件 编辑:程序博客网 时间:2024/06/05 19:52

本片介绍关于GPUImage的125个内置过滤器:xoxo_x 著


这里写图片描述


本文参考:https://github.com/BradLarson/GPUImage#gpuimage

颜色调整

  • GPUImageBrightnessFilter:调整图像的亮度

    • 亮度:调整亮度(-1.0 - 1.0,默认为0.0)
  • GPUImageExposureFilter:调整图像的曝光

    • 曝光:调整曝光(-10.0 - 10.0,默认为0.0)
  • GPUImageContrastFilter:调整图像的对比度

    • 对比度:调整的对比度(0.0 - 4.0,默认为1.0)
  • GPUImageSaturationFilter:调整图像的饱和度

    • 饱和度:应用于图像的饱和度或去饱和度(0.0 - 2.0,默认为1.0)
  • GPUImageGammaFilter:调整图像的灰度系数

    • gamma:要应用的灰度调整(0.0 - 3.0,默认为1.0)
  • GPUImageLevelsFilter:Photoshop级别调整。min ,max,minOut和maxOut参数是范围[0,1]中的浮点数如果你有来自Photoshop的参数,范围为[0,255],则必须首先将它们转换为[0, 1] 。gamma / mid参数是一个float> = 0的值。这与Photoshop的值匹配如果要对RGB以及单个通道应用级别,则需要使用此过滤器两​​次 - 首先用于单个通道,然后用于所有通道。

  • GPUImageColorMatrixFilter:通过向图像应用矩阵来转换图像的颜色

    • colorMatrix:一个4x4矩阵,用于变换图像中的每种颜色
    • intensity:新变换颜色的原始颜色的程度
  • GPUImageRGBFilter:调整图像的每个 RGB通道

    • 红色:每个颜色通道乘以的标准化值。范围是从0.0开始,默认为1.0。
    • 绿色
    • 蓝色
  • GPUImageHueFilter:调整图像的色调

    • 色相角:以度为单位。默认为90度
  • GPUImageVibranceFilter:调整图像的动态

    • 光彩:在光彩调整申请,使用0.0作为默认设置,分别为-1.2左右和1.2,建议最小/最大。
  • GPUImageWhiteBalanceFilter:调整图像的白平衡。

    • 温度:以ºK单位为调整图像的温度值4000是非常酷,7000非常温暖。默认值为5000。请注意,4000和5000之间的刻度与5000和7000之间的刻度几乎相同。
    • 色调:图像调整色调的值为-200 非常绿色,200 非常粉红色。默认值为0。
  • GPUImageToneCurveFilter:根据每个颜色通道的样条曲线调整图像的颜色。

    • redControlPoints
    • greenControlPoints
    • blueControlPoints
    • rgbCompositeControlPoints:色调曲线采用一系列控制点,这些控制点为每个颜色分量或复合材料中的所有三个分量定义样条曲线。这些作为NSValue封装的CGPoints存储在NSArray中,标准化的X和Y坐标0到1.默认值为(0,0),(0.5,0.5),(1,1)。
  • GPUImageHighlightShadowFilter:调整图像的阴影和高光

    • 阴影:增加到减弱阴影,从0.0到1.0,默认值为0.0。
    • 亮点:减少高亮显示,从1.0到0.0,默认为1.0。
  • GPUImageHighlightShadowTintFilter:允许您使用颜色和强度独立地着色图像的阴影和高光

    • shadowTintColor:阴影色调RGB颜色(GPUVector4)。默认值:( {1.0f, 0.0f, 0.0f, 1.0f}红色)。
    • highlightTintColor突出显示色彩RGB颜色(GPUVector4)。默认值:( {0.0f, 0.0f, 1.0f, 1.0f}蓝色)。
    • shadowTintIntensity:阴影色调强度,从0.0到1.0。默认值:0.0
    • highlightTintIntensity突出显示从0.0到1.0的色调强度,默认值为0.0。
  • GPUImageLookupFilter:使用RGB颜色查找图像重新映射图像中的颜色。首先,使用最最喜欢的照片编辑应用程序将过滤器应用于GPUImage / framework / Resources中的lookup.png。为了使其正常工作,每个像素颜色不能依赖于其他像素(例如模糊不起作用)。如果您需要更复杂的过滤器,您可以根据需要创建任意数量的查找表。准备好后,使用您的新lookup.png文件作为GPUImageLookupFilter的第二个输入。

  • GPUImageAmatorkaFilter:基于Amatorka的Photoshop操作的照片过滤器:http//amatorka.deviantart.com/art/Amatorka-Action-2-121069631如果要使用此效果,您必须从lookup_amatorka.png从GPUImage资源文件夹添加到应用程序包。

  • GPUImageMissEtikateFilter:由Etikate小姐基于Photoshop操作的照片过滤器:http//miss-etikate.deviantart.com/art/Photoshop-Action-15-120151961如果要使用此效果,您必须将lookup_miss_etikate.png从GPUImage资源文件夹添加到应用程序包。

  • GPUImageSoftEleganceFilter另一个基于查找的颜色重映射过滤器。如果要使用此效果,您必须将lookup_soft_elegance_1.png和lookup_soft_elegance_2.png从GPUImage资源文件夹添加到应用程序包。

  • GPUImageSkinToneFilter:一个肤色调整过滤器,影响一个独特范围的轻肤色调,并相应地调整粉色/绿色或粉色/橙色的范围。默认值针对公平的白种人皮肤,但可以根据需要进行调整。

    • skinToneAdjust:调整肤色的量。默认值:0.0,建议最小值/最大值:-0.3和0.3。
    • skinHue:皮肤色调被检测到。默认值:0.05(正常的白种人到微红的皮肤)。
    • skinHueThreshold:皮肤色调的方差量
    • maxHueShift:允许的最大色差偏移量
    • maxSaturationShift =要移动的最大饱和度(使用橙色时)
    • upperSkinToneColor = GPUImageSkinToneUpperColorGreenGPUImageSkinToneUpperColorOrange
  • GPUImageColorInvertFilter:反转图像的颜色

  • GPUImageGrayscaleFilter:将图像转换为灰度(饱和度滤镜的实现略快,但无法改变颜色贡献)

  • GPUImageMonochromeFilter:根据每个像素的亮度将图像转换为单色版本

    • intensity特定颜色替换正常图像颜色的程度(0.0 - 1.0,默认为1.0)
    • color:用作效果基础的颜色,以(0.6,0.45,0.3,1.0)作为默认值。
  • GPUImageFalseColorFilter:使用图像的亮度在两个用户指定的颜色之间混合

    • firstColor:状语从句:第一第二颜色组分别指定什么颜色组替换图像的暗区域亮状语从句:区域默认值为(0.0,0.0,0.5)AMD公司(1.0,0.0,0.0)。
    • secondColor
  • GPUImageHazeFilter:用于添加或删除雾度(类似于UV过滤器)

    • distance:应用的颜色的强度-.3和.3之间的值最好。
    • 斜率:颜色变化量-.3和.3之间的值最好。
  • GPUImageSepiaFilter:简单的棕褐色调滤波器

    • intensity棕黄色代替正常图像颜色的程度(0.0 - 1.0,默认为1.0)
  • GPUImageOpacityFilter:调整传入图像的Alpha通道

    • opacity:将每个像素的传入alpha通道乘以(0.0 - 1.0,默认值为1.0)的值,
  • GPUImageSolidColorGenerator:这将输出生成的图像的纯色。您需要使用-forceProcessingAtSize定义图像大小:

    • color:以四分格式显示的颜色,用于填充图像。
  • GPUImageLuminanceThresholdFilter:亮度高于阈值的像素将显示为白色,下面的像素将为黑色

    • threshold:亮度阈值,从0.0到1.0,默认值为0.5
  • GPUImageAdaptiveThresholdFilter:确定像素周边的局部亮度,然后如果像素低于该局部亮度,则将像素变为黑色,如果以上则为白色。这可以用于在不同的照明条件下挑选文本。

    • blurRadiusInPixels:背景平均模糊半径(以像素为单位)的乘数,默认值为4。
  • GPUImageAverageLuminanceThresholdFilter:这个应用阈值操作,其中基于场景的平均亮度连续地调整阈值。

    • thresholdMultiplier:这是平均亮度将被乘以的因子,以便达到要使用的最下限阈值
  • GPUImageHistogramFilter:它分析传入的图像,并且创建一个输出直方图,其中出现每个颜色值的频率。该滤波器的输出是3像素高,256像素宽的图像,其中发生各种颜色值的频率的像素。每个颜色值占据256个宽度位置中的一个,从左边的0到右边的255. 可以针对各个颜色通道(kGPUImageHistogramRed,kGPUImageHistogramGreen,kGPUImageHistogramBlue),图像的亮度(kGPUImageHistogramLuminance )或者一次针对所有三个颜色通道(kGPUImageHistogramRGB)生成该直方图。

    • downsamplingFactor:这不是对每个像素进行采样,而是指示图像的哪个部分被采样。默认情况下,这是16,最小值为1.这是需要防止饱和直方图,它只能记录每个颜色值的256个像素,在它变得重载之前。
  • GPUImageHistogramGenerator:这是一个特殊的过滤器,因为它主要打算使用GPUImageHistogramFilter。它生成由GPUImageHistogramFilter生成的颜色直方图的输出表示,但它可以重新用于显示其他类型的值。它采取一个图像,看中心垂直)像素。然后它在输出纹理中的单独的彩色图表中绘制RGB分量的数值。您可能需要强制此过滤器的大小,以其输出可见。

  • GPUImageAverageColor:通过对图像中每个像素的RGBA分量进行平均,处理输入图像并确定场景的平均颜色。使用缩小处理来逐步向下取样GPU上的源图像,接着在CPU进行上短的平均计算此过滤器的输出无意义,但您需要将colorAverageProcessingFinishedBlock属性设置为接收四个颜色分块和一个帧时间的块,并对它们执行某些操作。

  • GPUImageLuminosity:像GPUImageAverageColor一样,这会将图像缩小到其平均亮度。你需要设置luminosityProcessingFinishedBlock来处理这个过滤器的输出,它会返回一个光度值和一个帧时间。

  • GPUImageChromaKeyFilter:对于图像中的给定颜色,将Alpha通道设置为0.这与GPUImageChromaKeyBlendFilter类似,只是不是在第二个图像中混合匹配的颜色,这不在第二个图像中,颜色透明。

    • thresholdSensitivity:颜色匹配需要存在到要求的目标颜色的接近程度(默认值为0.4)
    • 平滑:如何平滑地混合颜色匹配(默认值为0.1)

图像处理

  • GPUImageTransformFilter:这将对应图像应用任意的2-D或3-D变换

    • affineTransform:这需要一个CGAffineTransform来调整2-D图像
    • transform3D:这需要一个CATransform3D来操纵3-D中的图像
    • ignoreAspectRatio:默认情况下,保持变换图像的宽高比,但可以将其设置为YES,use变换与宽高比无关
  • GPUImageCropFilter:将图像裁剪到特定区域,然后只将该区域传递到过滤器的下一个阶段

    • cropRegion:裁剪出图像的矩形区域,标准化为0.0 - 1.0的坐标。(0.0,0.0)位置在图像的左上角。
  • GPUImageLanczosResamplingFilter:这使您可以使用Lanczos重采样对图像进行上采样或下采样,这将产生比标准线性或三线性插值明显更好的质量。只需使用-forceProcessingAtSize:设置过滤器的目标输出分辨率,并且将为该新大小重新采样图像。

  • GPUImageSharpenFilter:锐化图像

    • 锐度:应用的锐度调整(-4.0 - 4.0,默认值为0.0)
  • GPUImageUnsharpMaskFilter:应用反锐化掩码

    • blurRadiusInPixels:底层高斯模糊的模糊半径
    • intensity锐化的强度,从0.0开始,默认值为1.0
  • GPUImageGaussianBlurFilter:一种硬件优化,可变半径高斯模糊

    • texelSpacingMultiplier:范围从0.0开始,默认值为1.0。调整这可能会稍微增加模糊强度,但会在结果中引入伪影。强烈建议先使用其他参数,然后触摸此一个。
    • blurRadiusInPixels:用于模糊的半径(以像素为单位),默认值为2.0。这调整了高斯分布函数中的σ变量。
    • blurRadiusAsFractionOfImageWidth
    • blurRadiusAsFractionOfImageHeight:设置这些属性将允许模糊半径随图像大小缩放
    • blurPasses:顺序模糊输入图像的次数。通过越多,过滤器越慢。
  • GPUImageBoxBlurFilter:一个硬件优化,可变半径框模糊

    • texelSpacingMultiplier:范围从0.0开始,默认值为1.0。调整这可能会稍微增加模糊强度,但会在结果中引入伪影。强烈建议先使用其他参数,然后触摸此一个。
    • blurRadiusInPixels:用于模糊的半径(以像素为单位),默认值为2.0。这调整了高斯分布函数中的σ变量。
    • blurRadiusAsFractionOfImageWidth
    • blurRadiusAsFractionOfImageHeight:设置这些属性将允许模糊半径随图像大小缩放
    • blurPasses:顺序模糊输入图像的次数。通过越多,过滤器越慢。
  • GPUImageSingleComponentGaussianBlurFilter:仅对红色组件操作的GPUImageGaussianBlurFilter的修改

    • texelSpacingMultiplier:范围从0.0开始,默认值为1.0。调整这可能会稍微增加模糊强度,但会在结果中引入伪影。强烈建议先使用其他参数,然后触摸此一个。
    • blurRadiusInPixels:用于模糊的半径(以像素为单位),默认值为2.0。这调整了高斯分布函数中的σ变量。
    • blurRadiusAsFractionOfImageWidth
    • blurRadiusAsFractionOfImageHeight:设置这些属性将允许模糊半径随图像大小缩放
    • blurPasses:顺序模糊输入图像的次数。通过越多,过滤器越慢。
  • GPUImageGaussianSelectiveBlurFilter:保持圆形区域内焦点的高斯模糊

    • blurRadiusInPixels:用于模糊的像素的半径,默认值为5.0。这调整了高斯分布函数中的σ变量。
    • excludeCircleRadius:从模糊中排除的圆形区域的半径
    • excludeCirclePoint:从模糊中排除的圆形区域的中心
    • excludeBlurSize:模糊部分和清晰圆之间的区域的大小
    • aspect ratio:图像的宽高比,用于调整对焦区域的圆形度。默认情况下,这与图像宽高比相匹配,但您可以覆盖此值。
  • GPUImageGaussianBlurPositionFilterGPUImageGaussianSelectiveBlurFilter的逆,只在特定圆圈内应用模糊

    • blurSize:模糊大小的乘数,范围从0.0开始,默认值为1.0
    • blurCenter:模糊的中心,默认为0.5,0.5
    • blurRadius:模糊的半径,默认为1.0
  • GPUImageiOSBlurFilter:尝试复制在图片控制中心这样的iOS 7上使用的背景模糊。

    • blurRadiusInPixels:用于模糊的半径(以像素为单位),默认值为12.0。这调整了高斯分布函数中的σ变量。
    • “饱和度”英文“饱和度” 英文“饱和度”英文“饱和度”英文“饱和度
    • 下采样:下采样,然后上采样输入图像以最小化高斯模糊内的计算的程度,默认为4.0。
  • GPUImageMedianFilter:获取三个颜色分量的中值,超过3x3区域

  • GPUImageBilateralFilter:双边模糊,它试图模糊相似的颜色值,同时保留锐利的边缘

    • texelSpacingMultiplier:texel 读取间距的乘数,范围从0.0开始,默认值为4.0
    • distanceNormalizationFactor:中心颜色和样本颜色之间的距离一化因子,默认值为8.0。
  • GPUImageTiltShiftFilter:模拟倾斜移位镜头效果

    • blurRadiusInPixels:底层模糊的半径,以像素为单位
    • topFocusLevel:图片中对焦区域顶部的标准化位置,此值应低于bottomFocusLevel,默认为0.4
    • bottomFocusLevel:图片中对焦区域底部的归一化位置,此值应高于topFocusLevel,默认为0.6
    • focusFallOffRate:图像变得离开对焦区域的速率,默认为0.2
  • GPUImage3x3ConvolutionFilter:针对映像运行3x3卷积内核

    • 卷积核:卷积核是应用于像素及其8个周围像素的值的3×3矩阵。矩阵以行主要顺序指定,左上角的像素为one.one,右下角为三。如果矩阵中的value不等于1.0,则图像可以变亮或变暗。
  • GPUImageSobelEdgeDetectionFilter:Sobel边缘检测,边缘以白色突出显示

    • texelWidth
    • texelHeight:这些参数影响检测到的边缘的可见性
    • edgeStrength:调整滤波器的动态范围。值越高,边缘越强,但可以使强度色空间饱和
  • GPUImagePrewittEdgeDetectionFilter:Prewitt边缘检测,边缘以白色突出显示

    • texelWidth
    • texelHeight:这些参数影响检测到的边缘的可见性
    • edgeStrength:调整滤波器的动态范围。值越高,边缘越强,但可以使强度色空间饱和
  • GPUImageThresholdEdgeDetectionFilter:执行Sobel边缘检测,但应用阈值,而不提供渐进强度值

    • texelWidth
    • texelHeight:这些参数影响检测到的边缘的可见性
    • edgeStrength:调整滤波器的动态范围。值越高,边缘越强,但可以使强度色空间饱和
    • threshold:高于此阈值的任何边将为黑色,任何低于白色的边。范围从0.0到1.0,默认为0.8
  • GPUImageCannyEdgeDetectionFilter:这使用完整的Canny过程来突出显示一个像素宽的边缘

    • texelWidth
    • texelHeight:这些参数影响检测到的边缘的可见性
    • blurRadiusInPixels:高斯模糊的基础模糊半径
    • blurTexelSpacingMultiplier:底层模糊纹理像素间距乘数
    • upperThresholdfront threshold:任意边缘,将默认值设为0.4。
    • lowerThreshold:梯度幅度低于此阈值的任何边将失败,并从最终结果中删除
  • GPUImageHarrisCornerDetectionFilter:对输入图像运行哈里斯角点检测算法,并生成一个图像,这些角点为白色像素,一切为黑色。可以设置cornersDetectedBlock,并且您将获得一个角度列表(在标准化的0..1 X, Y坐标),在回调中你想要执行的任何额外的操作。

    • blurRadiusInPixels:底层高斯模糊的半径
    • 灵敏度:应用于调整过滤器中生成的角点的动态范围的内部缩放因子
    • 门槛:将点检测为角的阈值。这可以根据大小,照明条件和iOS的设备摄像头类型显着变化,因此可能需要一些实验来适当的情况。默认值为0.20。
  • GPUImageNobleCornerDetectionFilter:在哈里斯角点检测器上运行Noble变量。它的行为如上所述的哈里斯检测器。

    • blurRadiusInPixels:底层高斯模糊的半径
    • 灵敏度:应用于调整过滤器中生成的角点的动态范围的内部缩放因子
    • 门槛:将点检测为角的阈值。这可以根据大小,照明条件和iOS的设备摄像头类型显着变化,因此可能需要一些实验来适当的情况。默认值为0.2。
  • GPUImageShiTomasiCornerDetectionFilter:运行Shi-Tomasi特征检测器。它的行为如上所述的哈里斯检测器。

    • blurRadiusInPixels:底层高斯模糊的半径
    • 灵敏度:应用于调节过滤器中生成的角点的动态范围的内部缩放因子
    • 门槛:将点检测为角的阈值。这可以根据大小,照明条件和iOS的设备摄像头类型显着变化,因此可能需要一些实验来适当的情况。默认值为0.2。
  • GPUImageNonMaximumSuppressionFilter:当前仅用作哈里斯角点检测滤波器的一部分,这将对每个像素周围的1像素框进行采样,并中心确定的像素红色通道是否的英文该区域中的最大值如果的英文,它停留。如果不是,则对于所有颜色分量将其设置为0。

  • GPUImageXYDerivativeFilter:哈里斯角点检测滤波器内的一个内部组件,它计算这个点左右像素之间的平方差,这个点之上和之下的像素的平方差,以及这两个差值的乘积。

  • GPUImageCrosshairGenerator:它在图像上绘制一系列十字线,最常用于识别机器视觉特征。它不像其他过滤器那样接受标准图像,而是在其–renderCrosshairsFromArray:count:方法中包含一系列点,这是实际绘图。您将需要强制此过滤器以您需要的特定输出大小进行渲染。

    • crosshairWidth:要在屏幕上绘制的十字准线的宽度(以像素为单位)。
  • GPUImageDilationFilter:这执行图像扩张操作,其中矩形邻域的红色通道的最强强度用于该像素的强度。初始化时指定采样的矩形区域的半径,范围为1-4个像素。这是为了用灰度图像,它扩展明亮的区域。

  • GPUImageRGBDilationFilter:这与GPUImageDilationFilter相同,只是它作用于所有颜色通道,而不只是红色通道。

  • GPUImageErosionFilter:执行图像侵蚀操作,其中矩形邻域中的红色通道的最强度用于该像素的强度。初始化时指定采样的矩形区域的半径,范围为1-4个像素。这是用于灰度图像,它扩展黑暗区域。

  • GPUImageRGBErosionFilter:这与GPUImageErosionFilter相同,只是它在所有颜色通道上起作用,而不只是红色通道。

  • GPUImageOpeningFilter:这对图像的红色通道执行侵蚀,随后是相同半径的膨胀。初始化时间设置半径,范围为1-4个像素

  • GPUImageRGBOpeningFilter:这与GPUImageOpeningFilter相同,除了这个作用于所有颜色通道,而不只是红色通道。

  • GPUImageClosingFilter它对图像的红色通道执行扩展,然后是相同半径的侵蚀。初始化时间设置半径,范围为1-4个像素

  • GPUImageRGBClosingFilter:这与GPUImageClosingFilter相同,除了这个作用于所有颜色通道,而不只是红色通道。

  • GPUImageLocalBinaryPatternFilter:它执行8个周围像素和中心像素的红色通道的强度的比较,将比较结果编码成成为该像素强度的位串。最低有效位是右上角比较,逆时针转向以正确的比较结束作为最高有效位。

  • GPUImageLowPassFilter:对于输入的视频帧应用一个低通滤波器。这基本上累积了当前帧和当前帧的加权滚动平均值它可以用于去噪视频,添加运动模糊或用于创建高通滤波器。

    • filterStrength:这控制了前一个累加帧与当前帧的混合程度。范围从0.0到1.0,默认值为0.5。
  • GPUImageHighPassFilter:对输入的视频帧应用高通滤波器。这是低通滤波器的反相,示出了当前帧与前一帧的加权滚动平均值之间的差。这对运动检测最有用。

    • filterStrengththis控制先前累加的帧被混合的程度,然后从当前的累加帧中减去。范围从0.0到1.0,默认值为0.5。
  • GPUImageMotionDetector:这是一个基于高通滤波器的运动检测器。您设置motionDetectionBlock,并且在每个传入帧中,它将为您提供场景中任何检测到的运动的质心(以标准化的X,Y坐标)以及场景的运动强度。

    • lowPassFilterStrengththis控制了幕后使用的低通滤波器的强度,以建立与输入帧进行比较的基线。范围从0.0到1.0,默认值为0.5。
  • GPUImageHoughTransformLineDetector:使用霍夫变换检测图像中的线到平行坐标空间。这种方法完全基于由布尔诺科技大学的Graph @ FIT研究小组开发的PC线路过程,并在他们的出版物中描述:M.Dubská ,J.Havel,and A.Helout。使用平行坐标和OpenGL的线的实时检测。Proceedings of SCCG 2011,Bratislava,SK,第http://medusa.fit.vutbr.cz/public/data/论文/ 2011-SCCG-Dubska-Real-Time-Line-Detection-Using-PC-and-OpenGL.pdf)和M.Dubská,J.Havel,Herout。PClines -使用平行坐标的线检测。2011年计算机视觉与模式识别(CVPR)IEEE刀豆ference,对1489年至1494年(http://medusa.fit.vutbr.cz/public/data/papers /2011-CVPR-Dubska-PClines.pdf)。

    • edgeThreshold:检测到点属于用于确定线的边缘的阈值
    • lineDetectionThreshold:检测到局部最大值属于平行坐标空间中的线的阈值
    • linesDetectedBlock:在检测行时调用此块,通常在每个处理的帧上。包含m,b对(y = mx + b)中的归一化斜率和截距的AC阵列与所检测的线的数目和视频帧的当前时间戳的计数一起被传入。
  • GPUImageLineGenerator:生成可以覆盖场景的线的辅助类。这些线的颜色可以使用-setLineColorRed:green:blue:

    • lineWidth:行的宽度(以像素为单位),默认值为1.0。
  • GPUImageMotionBlurFilter:对图像应用定向运动模糊

    • blurSize:模糊大小的乘数,范围从0.0开始,默认值为1.0
    • blurAngle:模糊的角度方向,以度为单位
  • GPUImageZoomBlurFilter:对图像应用定向运动模糊

    • blurSize:模糊大小的乘数,范围从0.0开始,默认值为1.0
    • blurCenter:模糊的标准化中心。(0.5,0.5)

混合模式

  • GPUImageChromaKeyBlendFilteruse第二个图像选择性替换第一个图像中的颜色

    • thresholdSensitivity:颜色匹配需要存在到要求的目标颜色的接近程度(默认值为0.4)
    • 平滑:如何平滑地混合颜色匹配(默认值为0.1)
  • GPUImageDissolveBlendFilter:应用两个图像的溶解混合

    • mix:第二个图像覆盖第一个图像的程度(0.0-1.0,默认为0.5)
  • GPUImageMultiplyBlendFilter:应用两个图像的乘法混合

  • GPUImageAddBlendFilter:应用两个图像的加法混合

  • GPUImageSubtractBlendFilter:应用两个图像的减法混合

  • GPUImageDivideBlendFilter:应用两个图像的分割混合

  • GPUImageOverlayBlendFilter:应用两个图像的叠加混合

  • GPUImageDarkenBlendFilter:通过获取图像之间每个颜色分量的最小值来混合两个图像

  • GPUImageLightenBlendFilter:通过获取图像之间每个颜色分量的最大值来混合两个图像

  • GPUImageColorBurnBlendFilter:应用两个图像的颜色混合

  • GPUImageColorDodgeBlendFilter:应用两个图像的颜色闪避混合

  • GPUImageScreenBlendFilter:应用两个图像的屏幕混合

  • GPUImageExclusionBlendFilter:应用两个图像的排除混合

  • GPUImageDifferenceBlendFilter:应用两个图像的差异混合

  • GPUImageHardLightBlendFilter:应用一个硬光混合的两个图像

  • GPUImageSoftLightBlendFilter:应用两个图像的柔和光混合

  • GPUImageAlphaBlendFilter:根据第二个alpha通道,将第二个图像混合在第一个图像上

    • mix:第二个图像覆盖第一个图像的程度(0.0 - 1.0,默认为1.0)
  • GPUImageSourceOverBlendFilter:在两个图像的混合上应用源

  • GPUImageColorBurnBlendFilter:应用两个图像的颜色混合

  • GPUImageColorDodgeBlendFilter:应用两个图像的颜色闪避混合

  • GPUImageNormalBlendFilter:应用两个图像的正常混合

  • GPUImageColorBlendFilter:应用两个图像的颜色混合

  • GPUImageHueBlendFilter:应用两个图像的色调混合

  • GPUImageSaturationBlendFilter:应用两个图像的饱和混合

  • GPUImageLuminosityBlendFilter:应用两个图像的亮度混合

  • GPUImageLinearBurnBlendFilter:应用两个图像的线性刻录混合

  • GPUImagePoissonBlendFilter:应用两个图像的泊松混合

    • 混合:混合范围从0.0(只有图像1)到1.0(只有图像2梯度),1.0为正常水平
    • numIterations:传播梯度的次数如果你想获得任何接近收敛,这个高达100或甚至1000 是的,这会很慢。
  • GPUImageMaskFilter:使用另一个图像掩蔽一个图像

视觉效果

  • GPUImagePixellateFilter:对图像或视频应用像素化效果

    • fractionalWidthOfAPixel:像素的大小,作为图像宽度和高度的一部分(0.0 - 1.0,默认为0.05)
  • GPUImagePolarPixellateFilter:对图片或视频应用像素化效果,基于极坐标,而不是笛卡尔坐标

    • center:应用像素的中心,默认为(0.5,0.5)
    • pixelSize:分别像素大小,拆分为width和height组件。默认值为(0.05,0.05)
  • GPUImagePolkaDotFilter:将图像分割成常规网格中的彩色点

    • fractionalWidthOfAPixel:点的大小,作为图像宽度和高度的一部分(0.0 - 1.0,默认为0.05)
    • dotScaling:每个网格空间的小部分由一个点占据,从0.0到1.0,默认值为0.9。
  • GPUImageHalftoneFilter:对图像应用半色调效果,如新闻打印

    • fractionalWidthOfAPixel:半色调点的大小,作为图像宽度和高度的一部分(0.0 - 1.0,默认为0.05)
  • GPUImageCrosshatchFilter:将图像转换为黑白交叉阴影图案

    • crossHatchSpacing:图像的分数宽度,用作交叉影线的间距
    • lineWidth交叉线的相对宽度。默认值为0.003。
  • GPUImageSketchFilter:将视像转换为外观像草图。这只是Sobel边缘检测滤镜的颜色反转

    • texelWidth
    • texelHeight:这些参数影响检测到的边缘的可见性
    • edgeStrength:调整滤波器的动态范围。值越高,边缘越强,但可以使强度色空间饱和
  • GPUImageThresholdSketchFilter:与草图过滤器相同,只有边缘是阈值,而不是灰度

    • texelWidth
    • texelHeight:这些参数影响检测到的边缘的可见性
    • edgeStrength:调整滤波器的动态范围。值越高,边缘越强,但可以使强度色空间饱和
    • threshold:高于此阈值的任何边将为黑色,任何低于白色的边。范围从0.0到1.0,默认为0.8
  • GPUImageToonFilter:这使用Sobel边缘检测在对象周围放置一个黑色边框,然后它量化图像中呈现的颜色,以给图像一个卡通般的质量。

    • texelWidth
    • texelHeight:这些参数影响检测到的边缘的可见性
    • threshold:边缘检测的灵敏度,较低的值更敏感。范围从0.0到1.0,默认为0.2
    • quantizationLevels:在最终图像中表示的颜色级别的数量默认值为10.0
  • GPUImageSmoothToonFilter:这使用与GPUImageToonFilter类似的过程,只有它之前的toon效果与高斯模糊,以平滑噪声。

    • texelWidth
    • texelHeight:这些参数影响检测到的边缘的可见性
    • blurRadiusInPixels:底层高斯模糊的半径
    • threshold:边缘检测的灵敏度,较低的值更敏感。范围从0.0到1.0,默认为0.2
    • quantizationLevels:在最终图像中表示的颜色级别的数量默认值为10.0
  • GPUImageEmbossFilter:在图像上应用浮雕效果

    • 强度压花的强度,从0.0到4.0,用1.0作为正常水平
  • GPUImagePosterizeFilter:这将颜色动态范围减少到指定的步骤数,导致图像的卡通式简单阴影。

    • colorLevels:将图像空间缩小到的颜色级数取值范围为1〜256,缺省值为10。
  • GPUImageSwirlFilter:在图像上创建漩涡失真

    • radius:从中心到应用失真的半径,默认值为0.5
    • center:图像的中心(从0 - 1.0的归一化坐标),默认为(0.5,0.5)
    • angle:应用于图像的扭曲量,默认值为1.0
  • GPUImageBulgeDistortionFilter:在图像上创建凸起失真

    • radius:从中心到应用失真的半径,默认值为0.25
    • center:图像的中心(从0 - 1.0的归一化坐标),对于其将失真,默认为(0.5,0.5)
    • scale:应用的失真量,从-1.0到1.0,默认值为0.5
  • GPUImagePinchDistortionFilter:创建图像的混合失真

    • radius:从中心到应用失真的半径,默认值为1.0
    • center:图像的中心(从0 - 1.0的归一化坐标),对于其将失真,默认为(0.5,0.5)
    • scale:应用的失真量,从-2.0到2.0,默认值为1.0
  • GPUImageStretchDistortionFilter:创建图像的拉伸失真

    • center:图像的中心(从0 - 1.0的归一化坐标),对于其将失真,默认为(0.5,0.5)
  • GPUImageSphereRefractionFilter:模拟通过玻璃球的折射

    • center:应用失真的中心,默认为(0.5,0.5)
    • radius:失真的半径,范围从0.0到1.0,默认值为0.25
    • refractiveindex:球体的折射率,默认值为0.71
  • GPUImageGlassSphereFilter:与GPUImageSphereRefractionFilter相同,只有图像不被反转,并且在玻璃的边缘有一点点结霜

    • center:应用失真的中心,默认为(0.5,0.5)
    • radius:失真的半径,范围从0.0到1.0,默认值为0.25
    • refractiveindex:球体的折射率,默认值为0.71
  • GPUImageVignetteFilter:执行渐晕效果,在边缘淡出图像

    • vignetteCenter:tex coords中的小插曲的中心(CGPoint),默认值为0.5,0.5
    • vignetteColor:用于小插曲(GPUVector3)的颜色,默认为黑色
    • vignetteStart:从晕影效果开始的中心的标准化距离,默认值为0.5
    • vignetteEnd:从晕影效果结束的中心的标准化距离,默认值为0.75
  • GPUImageKuwaharaFilter:Kuwahara图像抽象,绘制自Kyprianidis等人的工作。et al。在他们的出版物“GPU中”英文相邻词汇热门词汇“GPU” 英文“昂贵的,因此它可能需要几秒钟来渲染在iPad 2上的框架。这可能最适合用于静态图像。

    • radius:整数,指定应用滤镜时从中心像素向外测试的像素数,默认值为4.较高的值会创建更抽象的图像,但代价是处理时间更长。
  • GPUImageKuwaharaRadius3Filter:一个修改版本的Kuwahara过滤器,优化工作超过三个像素的半径

  • GPUImagePerlinNoiseFilter:生成一个充满Perlin噪声的图像

    • colorStart
    • colorFinish:生成噪声的颜色范围
    • scale:正在生成的噪声的缩放
  • GPUImageCGAColorspaceFilter:模拟CGA显示器的色彩空间

  • GPUImageMosaicFilter:此过滤器接受一个输入的瓷砖集,瓷砖必​​须以亮度上升。它查看输入图像并根据该瓦片的亮度用输入瓦片替换每个显示瓦片。这个想法是复制在其他应用程序中看到的ASCII视频过滤器,但是tileset可以是任何东西。

    • inputTileSize
    • numTiles
    • displayTileSize
    • colorOn
  • GPUImageJFAVoronoiFilter:生成Voronoi地图,供以后阶段使用。

    • sizeInPixels:单个元素的大小
  • GPUImageVoronoiConsumerFilter:在Voronoi地图中,并使用它来过滤进入的图像。

    • sizeInPixels:单个元素的大小
原创粉丝点击