GPUImage解析(二) —— 基本概览(二)

版本记录

版本号 时间
V1.0 2017.09.01

前言

GPUImage是直接利用显卡实现视频或者图像处理的技术。感兴趣可以看上面几篇文章。
1. GPUImage解析(一) —— 基本概览(一)

内置滤镜

目前有125个内置过滤器,分为以下几类:

1. 颜色调整

  • 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:要应用的gamma调整(0.0 - 3.0,默认值为1.0)
  • GPUImageLevelsFilter:像Photoshop一样的级别调整。min,max,minOut和maxOut参数是[0,1]范围内的浮点数。如果您在[0,255]范围内的Photoshop中有参数,则必须先将其转换为[0,1]。gamma / mid参数是float> = 0.这与Photoshop中的值相匹配。如果您要将级别应用于RGB以及各个通道,则需要使用此过滤器两​​次 - 首先是单个通道,然后是所有通道。

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

    • colorMatrix:用于转换图像中每种颜色的4x4矩阵
    • 强度:新变换颜色取代每个像素的原始颜色的程度
  • GPUImageRGBFilter:调整图像的各个RGB通道

    • 红色:每个颜色通道乘以的归一化值。范围为0.0,默认值为1.0。
    • 绿色:
    • 蓝色:
  • GPUImageHueFilter:调整图像的色调

    • 色调:色调角度,以度为单位。默认为90度
  • GPUImageVibranceFilter:调整图像的气泡

    • vibrance:要应用的振动调整,使用0.0作为默认值,建议的最小/最大值分别为-1.2和1.2左右。
  • GPUImageWhiteBalanceFilter:调整图像的白平衡。

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

    • redControlPoints:
    • greenControlPoints:
    • blueControlPoints:
    • rgbCompositeControlPoints:色调曲线采用一系列控制点,它们定义每个颜色分量的样条曲线,或复合组合中的所有三个样条曲线。这些存储为NSArray中的NSValue包装的CGPoint,标准化的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。 如果要使用此效果,则必须将GPUImage资源文件夹中的lookup_amatorka.png添加到应用程序包中。

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

  • GPUImageSoftEleganceFilter:另一种基于查找的颜色重映射滤镜。 如果要使用此效果,您必须将lookup_soft_elegance_1.pnglookup_soft_elegance_2.pngGPUImage Resources文件夹添加到应用程序包中。

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

    • skinToneAdjust:调整肤色的量。 默认值:0.0,建议最小/最大:分别为-0.3和0.3。
    • skinHue:要检测的皮肤色调。 默认值:0.05(公平的白种人变成红色皮肤)。
    • skinHueThreshold:皮肤色调的变化量。 默认值:40.0。
    • maxHueShift:允许最大色调偏移量。 默认值:0.25。
    • maxSaturationShift =要移动的最大饱和度(使用橙色时)。 默认值:0.4。
    • upperSkinToneColor = GPUImageSkinToneUpperColorGreenGPUImageSkinToneUpperColorOrange
  • GPUImageColorInvertFilter:反转图像的颜色

  • GPUImageGrayscaleFilter:将图像转换为灰度级(稍微更快的饱和度滤镜实现,无需改变颜色贡献)

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

    • 强度:特定颜色取代正常图像颜色的程度(0.0 - 1.0,默认值为1.0)
    • 颜色:使用颜色作为效果的基础,以(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过滤器)

    • 距离:施加的颜色的强度。默认值0.-3和.3之间的值最好。

    • 坡度:颜色变化量。默认值0.-3和.3之间的值最好。
      GPUImageSepiaFilter:简单的棕褐色调滤镜

    • 强度:棕褐色调取代正常图像颜色的程度(0.0 - 1.0,默认值为1.0)

  • GPUImageOpacityFilter:调整传入图像的Alpha通道

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

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

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

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

    • thresholdMultiplier:这是为了达到最终使用阈值而将平均亮度乘以的因素。默认情况下,这是1.0。
  • GPUImageHistogramFilter:它分析输入图像,并创建一个输出直方图,其中出现每个颜色值的频率。该滤镜的输出是3像素高,256像素宽的图像,中心(垂直)像素包含与各种颜色值发生频率对应的像素。每个颜色值占用256个宽度位置中的一个,从左侧的0到右边的255。可以为单个颜色通道(kGPUImageHistogramRedkGPUImageHistogramGreenkGPUImageHistogramBlue),图像的亮度(kGPUImageHistogramLuminance)或一次的所有三个颜色通道(kGPUImageHistogramRGB)生成此直方图。

    • downsamplingFactor:而不是对每个像素进行采样,这决定了图像的几个部分被采样。默认情况下,这是16,最小为1.这是需要保持饱和直方图,每个颜色值只能在其过载之前记录256个像素。
  • GPUImageHistogramGenerator:这是一个特殊的过滤器,因为它主要是为了使用GPUImageHistogramFilter。它生成由GPUImageHistogramFilter生成的颜色直方图的输出表示,但它可以重新利用来显示其他类型的值。它占据一个图像并且看中心(垂直)像素。然后在输出纹理中将RGB组件的数值绘制在单独的彩色图形中。您可能需要强制使用此过滤器的大小才能使其输出可见。

  • GPUImageAverageColor:通过对图像中每个像素的RGBA分量进行平均,处理输入图像并确定场景的平均颜色。使用缩减过程逐渐降低对GPU上的源图像的采样,然后在CPU上进行简单的平均计算。该过滤器的输出是无意义的,但是您需要将colorAverageProcessingFinishedBlock属性设置为一个块,该块具有四个颜色组件和一个帧时间,并与它们做一些事情。

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

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

    • 阈值敏感度:要替换的目标颜色需要存在多少颜色匹配(默认值为0.4)
    • 平滑:如何平稳地融合颜色匹配(默认为0.1)

2. 图像处理

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

    • affineTransform:这需要一个CGAffineTransform来调整2-D中的图像
    • transform3D:这是一个CATransform3D来处理3-D中的图像
    • ignoreAspectRatio:默认情况下,维护变换后的图像的宽高比,但可以将其设置为“是”,使变换与宽高比无关
  • GPUImageCropFilter:将图像裁剪到特定区域,然后将该区域仅传递到过滤器的下一个阶段

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

  • GPUImageSharpenFilter:锐化图像

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

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

    • texelSpacingMultiplier:纹素之间的间距的乘数,范围从0.0到up,默认值为1.0。调整这可能会稍微增加模糊强度,但会在结果中引入工件。在接触这一个之前先强烈推荐使用其他参数。
    • blurRadiusInPixels:用于模糊的半径(以像素为单位),默认值为2.0。这调整高斯分布函数中的sigma变量。
    • blurRadiusAsFractionOfImageWidth:
    • blurRadiusAsFractionOfImageHeight:设置这些属性将允许模糊半径与图像的大小缩放
    • blurPasses:顺序模糊传入图像的次数。越多越好,过滤器越慢。
  • GPUImageBoxBlurFilter:硬件优化,可变半径框模糊

    • texelSpacingMultiplier:纹素之间的间距的乘数,范围从0.0到up,默认值为1.0。调整这可能会稍微增加模糊强度,但会在结果中引入工件。在接触这一个之前先强烈推荐使用其他参数。
    • blurRadiusInPixels:用于模糊的半径(以像素为单位),默认值为2.0。这调整高斯分布函数中的sigma变量。
    • blurRadiusAsFractionOfImageWidth
    • blurRadiusAsFractionOfImageHeight:设置这些属性将允许模糊半径与图像的大小缩放
    • blurPasses:顺序模糊传入图像的次数。越多越好,过滤器越慢。
  • GPUImageSingleComponentGaussianBlurFilter:仅对红色组件进行操作的GPUImageGaussianBlurFilter的修改

    • texelSpacingMultiplier:纹素之间的间距的乘数,范围从0.0到up,默认值为1.0。调整这可能会稍微增加模糊强度,但会在结果中引入工件。在接触这一个之前先强烈推荐使用其他参数。
    • blurRadiusInPixels:用于模糊的半径(以像素为单位),默认值为2.0。这调整高斯分布函数中的sigma变量。
    • blurRadiusAsFractionOfImageWidth:
    • blurRadiusAsFractionOfImageHeight:设置这些属性将允许模糊半径与图像的大小缩放
    • blurPasses:顺序模糊传入图像的次数。越多越好,过滤器越慢。
  • GPUImageGaussianSelectiveBlurFilter:保持圆形区域内焦点的高斯模糊

    • blurRadiusInPixels:用于模糊的半径(以像素为单位),默认值为5.0。这调整高斯分布函数中的sigma变量。
  • excludeCircleRadius:从模糊中排除的圆形区域的半径

  • excludeCirclePoint:圆形区域的中心被排除在模糊之外

  • excludeBlurSize:模糊部分和清晰圆之间的区域大小

  • aspectRatio:图像的宽高比,用于调整对焦区域的圆度。默认情况下,这与图像宽高比匹配,但您可以覆盖此值。

  • GPUImageGaussianBlurPositionFilter

  • GPUImageGaussianSelectiveBlurFilter的逆,只在一个圆圈内应用模糊

  • blurSize:模糊大小的乘数,范围从0.0开始,默认值为1.0

  • blurCenter:模糊中心,默认为0.5,0.5

  • blurRadius:模糊的半径,默认为1.0

  • GPUImageiOSBlurFilter:尝试复制iOS 7上使用的背景模糊,如控制中心。

    • blurRadiusInPixels:用于模糊的半径(以像素为单位),默认值为12.0。这调整高斯分布函数中的sigma变量。
    • 饱和度:饱和度范围从0.0(完全去饱和)到2.0(最大饱和度),0.8作为正常水平
    • 下采样:下采样的程度,然后对输入图像进行上采样,以最小化高斯模糊中的计算,默认值为4.0。
  • GPUImageMedianFilter:取三个颜色分量的中值,超过3x3

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

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

    • blurRadiusInPixels:底层模糊的半径,以像素为单位。默认情况下为7.0。
    • topFocusLevel:图像中对焦区域顶部的归一化位置,此值应低于bottomFocusLevel,默认为0.4
    • bottomFocusLevel:图像中对焦区域底部的归一化位置,此值应高于topFocusLevel,默认为0.6
    • focusFallOffRate:图像从对焦区域模糊的速率,默认为0.2
  • GPUImage3x3ConvolutionFilter:针对图像运行3x3卷积内核

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

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

    • texelWidth
    • texelHeight:这些参数影响检测到的边缘的可见性
    • edgeStrength:调整过滤器的动态范围。更高的值导致更强的边缘,但可以饱和强度的颜色空间。默认值为1.0。
  • GPUImageThresholdEdgeDetectionFilter:执行Sobel边缘检测,但应用阈值,而不是赋予渐变强度值

  • texelWidth

  • texelHeight:这些参数影响检测到的边缘的可见性

  • edgeStrength:调整过滤器的动态范围。更高的值导致更强的边缘,但可以饱和强度的颜色空间。默认值为1.0。
    阈值:任何高于此阈值的边将为黑色,任何低于白色的边。范围从0.0到1.0,默认值为0.8

  • GPUImageCannyEdgeDetectionFilter:这使用完整的Canny进程来突出显示一个像素宽的边

    • texelWidth
    • texelHeight:这些参数影响检测到的边缘的可见性
    • blurRadiusInPixels:高斯模糊的底层模糊半径。默认值为2.0。
    • blurTexelSpacingMultiplier:底层的模糊纹理间距乘数。默认值为1.0。
    • upperThreshold:任何具有高于该阈值的梯度大小的边将通过并显示在最终结果中。默认值为0.4。
    • lowerThreshold:任何具有低于此阈值的梯度大小的边将失败,并从最终结果中移除。默认值为0.1。
  • GPUImageHarrisCornerDetectionFilter:在输入图像上运行哈里斯角检测算法,并产生具有这些角点的图像作为白色像素,其他黑色。cornerDetectedBlock可以被设置,并且你将被提供一个列表的角(在归一化的0..1 X,Y坐标)在回调任何额外的操作,你想执行。

    • blurRadiusInPixels:底层高斯模糊的半径。默认值为2.0。
    • 灵敏度:应用内部缩放因子来调整过滤器中生成的角度图的动态范围。默认值为5.0。
    • 阈值:将点检测为角点的阈值。这可能会根据大小,照明条件和iOS设备摄像机类型而有很大差异,因此可能需要一些实验来适应您的情况。默认值为0.20。
  • GPUImageNobleCornerDetectionFilter:在Harris角检测器上运行Noble变体。它的行为如上所述对于Harris检测器。

    • blurRadiusInPixels:底层高斯模糊的半径。默认值为2.0。
    • 灵敏度:应用内部缩放因子来调整过滤器中生成的角度图的动态范围。默认值为5.0。
    • 阈值:将点检测为角点的阈值。这可能会根据大小,照明条件和iOS设备摄像机类型而有很大差异,因此可能需要一些实验来适应您的情况。默认值为0.2。
  • GPUImageShiTomasiCornerDetectionFilter:运行Shi-Tomasi特征检测器。它的行为如上所述对于Harris检测器。

    • blurRadiusInPixels:底层高斯模糊的半径。默认值为2.0。
    • 灵敏度:应用内部缩放因子来调整过滤器中生成的角度图的动态范围。默认值为1.5。
    • 阈值:将点检测为角点的阈值。这可能会根据大小,照明条件和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:这将高通滤波器应用于传入的视频帧。这是低通滤波器的倒数,显示了当前帧与先前帧的加权滚动平均值之间的差异。这对于运动检测最有用。

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

    • lowPassFilterStrength:这控制了幕后使用的低通滤波器的强度,以建立输入帧与之进行比较的基线。范围从0.0到1.0,默认值为0.5。
  • GPUImageHoughTransformLineDetector:使用霍夫变换检测图像中的行到并行坐标空间。

    • edgeThreshold:检测到一个点属于用于确定行的边的阈值。默认值为0.9。
    • lineDetectionThreshold:检测到局部最大值属于并行坐标空间中的行的阈值。默认值为0.20。
    • linesDetectedBlock:在块的检测上调用该块,通常在每个处理帧上。包含标准化斜率和m,b对(y = mx + b)中的截距的AC阵列连同检测到的行数和视频帧的当前时间戳的计数一起传入。
  • GPUImageLineGenerator:一个帮助类,可生成可叠加场景的行。这些行的颜色可以使用-setLineColorRed进行调整:green:blue:

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

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

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

后记

未完,待续~~~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容