当前有125个内置过滤器,分为以下类别:
GPUImageBrightnessFilter:调整图像的亮度
GPUImageExposureFilter:调整图像的曝光
GPUImageContrastFilter:调整图像的对比度
GPUImageSaturationFilter:调整图像的饱和度
GPUImageGammaFilter:调整图像的灰度系数
GPUImageLevelsFilter:类似Photoshop的色阶调整。min,max,minOut和maxOut参数在[0,1]范围内浮动。如果来自Photoshop的参数在[0,255]范围内,则必须首先将它们转换为[0,1]。gamma / mid参数是一个float> =0。它与Photoshop中的值匹配。如果要对RGB以及各个通道应用级别,则需要两次使用此滤镜-首先用于单个通道,然后用于所有通道。
GPUImageColorMatrixFilter:通过将矩阵应用于图像来变换图像的颜色
GPUImageRGBFilter:调整图像的各个RGB通道
GPUImageHueFilter:调整图像的色调
GPUImageVibranceFilter:调整图像的鲜艳度
GPUImageWhiteBalanceFilter:调整图像的白平衡。
GPUImageToneCurveFilter:基于样条曲线为每个颜色通道调整图像的颜色。
GPUImageHighlightShadowFilter:调整图像的阴影和高光
GPUImageHighlightShadowTintFilter:允许您使用颜色和强度独立地着色图像的阴影和高光
{1.0f, 0.0f, 0.0f, 1.0f}
红色)。{0.0f, 0.0f, 1.0f, 1.0f}
蓝色)。GPUImageLookupFilter:使用RGB颜色查找图像来重新映射图像中的颜色。首先,使用您喜欢的照片编辑应用程序将滤镜应用于GPUImage / framework / Resources中的lookup.png。为了使其正常工作,每个像素的颜色都不得依赖于其他像素(例如,模糊将不起作用)。如果需要更复杂的过滤器,则可以根据需要创建任意多个查找表。准备就绪后,将新的lookup.png文件用作GPUImageLookupFilter的第二个输入。
GPUImageAmatorkaFilter:基于Amatorka的Photoshop动作的照片滤镜:http /amatorka.deviantart.com/art/Amatorka-Action-2-121069631 。如果要使用此效果,则必须将GPUImage Resources文件夹中的lookup_amatorka.png添加到应用程序包中。
GPUImageMissEtikateFilter:基于Etikate小姐的Photoshop动作的照片滤镜:http /miss-etikate.deviantart.com/art/Photoshop-Action-15-120151961 。如果要使用此效果,则必须将GPUImage Resources文件夹中的lookup_miss_etikate.png添加到应用程序包中。
GPUImageSoftEleganceFilter:另一个基于查找的颜色重映射滤镜。如果要使用此效果,则必须将GPUImage Resources文件夹中的lookup_soft_elegance_1.png和lookup_soft_elegance_2.png添加到应用程序包中。
GPUImageSkinToneFilter:肤色调整滤镜,可影响浅色肤色的唯一范围,并相应地调整粉红色/绿色或粉红色/橙色范围。默认值针对白皙的皮肤,但可以根据需要进行调整。
GPUImageSkinToneUpperColorGreen
或GPUImageSkinToneUpperColorOrange
GPUImageColorInvertFilter:反转图像的颜色
GPUImageGrayscaleFilter:将图像转换为灰度(饱和度滤镜的实现速度稍快,但无法更改颜色贡献)
GPUImageMonochromeFilter:根据每个像素的亮度,将图像转换为单色版本
GPUImageFalseColorFilter:使用图像的亮度在两种用户指定的颜色之间进行混合
GPUImageHazeFilter:用于添加或删除雾度(类似于UV滤镜)
GPUImageSepiaFilter:简单的棕褐色调滤镜
GPUImageOpacityFilter:调整传入图像的Alpha通道
GPUImageSolidColorGenerator:这将输出生成的纯色图像。您需要使用-forceProcessingAtSize定义图像大小:
GPUImageLuminanceThresholdFilter:亮度高于阈值的像素将显示为白色,而低于阈值的像素将为黑色
GPUImageAdaptiveThresholdFilter:确定像素周围的局部亮度,如果像素低于该局部亮度,则将其变为黑色,如果高于该像素,则将其变为白色。这对于在变化的光照条件下挑选文本很有用。
GPUImageAverageLuminanceThresholdFilter:这将应用阈值操作,其中将根据场景的平均亮度连续调整阈值。
GPUImageHistogramFilter:这将分析传入的图像并创建一个输出直方图,其输出每种颜色值的频率。该滤波器的输出是一个3像素高,256像素宽的图像,其中心(垂直)像素包含与发生各种颜色值的频率相对应的像素。每个颜色值占据256个宽度位置之一,从左侧的0到右侧的255。可以为单个颜色通道(kGPUImageHistogramRed,kGPUImageHistogramGreen,kGPUImageHistogramBlue),图像亮度(kGPUImageHistogramLuminance)或一次为所有三个颜色通道(kGPUImageHistogramRGB)生成此直方图。
GPUImageHistogramGenerator:这是一个特殊的过滤器,主要用于与GPUImageHistogramFilter一起使用。它生成由GPUImageHistogramFilter生成的颜色直方图的输出表示形式,但可以重新用于显示其他类型的值。它获取图像并查看中心(垂直)像素。然后,它将RGB分量的数值绘制在输出纹理的单独的彩色图形中。您可能需要为此过滤器设置一个大小,以使其输出可见。
GPUImageAverageColor:这通过对图像中每个像素的RGBA分量求平均值,来处理输入图像并确定场景的平均颜色。约简过程用于在GPU上逐步对源图像进行下采样,然后在CPU上进行短暂的平均计算。该过滤器的输出毫无意义,但是您需要将colorAverageProcessingFinishedBlock属性设置为一个包含四个颜色分量和一个帧时间并对它们执行某些操作的块。
GPUImageLuminosity:与GPUImageAverageColor一样,这会将图像减小到其平均亮度。您需要设置luminosityProcessingFinishedBlock来处理此过滤器的输出,该过滤器仅返回一个发光度值和一个帧时间。
GPUImageChromaKeyFilter:对于图像中的给定颜色,将alpha通道设置为0。这与GPUImageChromaKeyBlendFilter相似,只是不将第二个图像混合为匹配的颜色,而不会在第二个图像中取而代之颜色透明。
GPUImageTransformFilter:这会将任意2D或3D变换应用于图像
GPUImageCropFilter:将图像裁剪到特定区域,然后仅将该区域传递到滤镜的下一个阶段
GPUImageLanczosResamplingFilter:这使您可以使用Lanczos重采样对图像进行上采样或下采样,其质量明显优于标准线性或三线性插值。只需使用-forceProcessingAtSize:即可设置过滤器的目标输出分辨率,然后将针对该新大小重新采样图像。
GPUImageSharpenFilter:锐化图像
GPUImageUnsharpMaskFilter:应用不清晰的蒙版
GPUImageGaussianBlurFilter:硬件优化的可变半径高斯模糊
GPUImageBoxBlurFilter:硬件优化的可变半径框模糊
GPUImageSingleComponentGaussianBlurFilter:对GPUImageGaussianBlurFilter的修改,仅对红色组件起作用
GPUImageGaussianSelectiveBlurFilter:高斯模糊,可将焦点保留在圆形区域内
GPUImageGaussianBlurPositionFilter:GPUImageGaussianSelectiveBlurFilter的逆函数,仅在特定圆圈内应用模糊
GPUImageiOSBlurFilter:尝试在控制中心等地方复制iOS 7上使用的背景模糊。
GPUImageMedianFilter:获取3x3区域中三个颜色分量的中值
GPUImageBilateralFilter:双向模糊,它尝试在保留锐利边缘的同时模糊相似的颜色值
GPUImageTiltShiftFilter:模拟的倾斜移位镜头效果
GPUImage3x3ConvolutionFilter:对图像运行3x3卷积内核
GPUImageSobelEdgeDetectionFilter:Sobel边缘检测,边缘以白色突出显示
GPUImagePrewittEdgeDetectionFilter:Prewitt边缘检测,边缘以白色突出显示
GPUImageThresholdEdgeDetectionFilter:执行Sobel边缘检测,但是应用阈值而不是给出逐渐的强度值
GPUImageCannyEdgeDetectionFilter:这使用完整的Canny流程突出显示一像素宽的边缘
GPUImageHarrisCornerDetectionFilter:在输入图像上运行哈里斯拐角检测算法,并生成一个图像,这些拐角点为白色像素,其他所有像素为黑色。可以设置cornersDetectedBlock,并且在回调中将为您提供您想要执行的所有其他操作的角列表(以标准化的0…1 X,Y坐标表示)。
GPUImageNobleCornerDetectionFilter:在哈里斯拐角检测器上运行Noble变体。它的行为与上述Harris检测器的行为相同。
GPUImageShiTomasiCornerDetectionFilter:运行Shi-Tomasi特征检测器。它的行为与上述Harris检测器的行为相同。
GPUImageNonMaximumSuppressionFilter:当前仅用作哈里斯角点检测滤镜的一部分,它将对每个像素周围的一个1像素框进行采样,并确定中心像素的红色通道在该区域中是否最大。如果是,它将保持不变。如果不是,则将所有颜色分量都设置为0。
GPUImageXYDerivativeFilter:Harris角点检测过滤器中的一个内部组件,它计算该像素左右像素之间的平方差,该像素上下两个像素之间的平方差以及这两个差的乘积。
GPUImageCrosshairGenerator:这会在图像上绘制一系列十字准线,最常用于识别机器视觉功能。它不像其他过滤器那样获取标准图像,而是采用-renderCrosshairsFromArray:count:方法中的一系列点来进行实际绘制。您将需要强制此过滤器以所需的特定输出大小进行渲染。
GPUImageDilationFilter:这将执行图像放大操作,其中将矩形邻域中红色通道的最大强度用作此像素的强度。初始化时指定要采样的矩形区域的半径,范围为1-4个像素。这旨在用于灰度图像,并扩展明亮的区域。
GPUImageRGBDilationFilter:与GPUImageDilationFilter相同,除了它作用于所有颜色通道,而不仅仅是红色通道。
GPUImageErosionFilter:这将执行图像腐蚀操作,其中将矩形邻域中红色通道的最小强度用作此像素的强度。初始化时指定要采样的矩形区域的半径,范围为1-4个像素。这旨在用于灰度图像,并扩展暗区。
GPUImageRGBErosionFilter:与GPUImageErosionFilter相同,除了它作用于所有颜色通道,而不仅仅是红色通道。
GPUImageOpeningFilter:这会在图像的红色通道上执行侵蚀,然后进行相同半径的扩张。半径在初始化时设置,范围为1-4个像素。这样可以滤除较小的明亮区域。
GPUImageRGBOpeningFilter:与GPUImageOpeningFilter相同,除了它作用于所有颜色通道,而不仅仅是红色通道。
GPUImageClosingFilter:在图像的红色通道上执行膨胀,然后进行相同半径的腐蚀。半径在初始化时设置,范围为1-4个像素。这样可以滤除较小的暗区。
GPUImageRGBClosingFilter:与GPUImageClosingFilter相同,除了它作用于所有颜色通道,而不仅仅是红色通道。
GPUImageLocalBinaryPatternFilter:这将对周围的8个像素的红色通道和中央像素的红色通道的强度进行比较,将比较结果编码为成为该像素强度的位串。最低有效位是右上比较,逆时针结束在最高有效位的右边比较。
GPUImageLowPassFilter:这将低通滤波器应用于传入的视频帧。基本上,这会累加前一帧和当前帧的加权滚动平均值,以用于它们的降噪,添加运动模糊或用于创建高通滤波器。
GPUImageHighPassFilter:这会将高通滤波器应用于传入的视频帧。这是低通滤波器的反函数,显示了当前帧与先前帧的加权滚动平均值之间的差异。这对于运动检测最有用。
GPUImageMotionDetector:这是基于高通滤波器的运动检测器。设置motionDetectionBlock,并在每个传入帧上为您提供场景中任何检测到的运动的质心(在标准化的X,Y坐标下)以及场景的运动强度。
GPUImageHoughTransformLineDetector:使用Hough变换到平行坐标空间来检测图像中的线。这种方法完全基于布尔诺工业大学Graph @ FIT研究小组开发的PC生产线工艺,并在其出版物中进行了描述:M.Dubská,J。Havel和A. Herout。使用平行坐标和OpenGL实时检测线。SCCG 2011年会议论文集,布拉迪斯拉发,SK,第1。7(http://medusa.fit.vutbr.cz/public/data/papers/2011-SCCG-Dubska-Real-Time-Line-Detection-Using-PC-and-OpenGL.pdf)和M.Dubská,J Havel和A. Herout PClines —使用平行坐标的线检测。2011 IEEE计算机视觉和模式识别会议(CVPR),第1页。1489- 1494(http://medusa.fit.vutbr.cz/public/data/papers/2011-CVPR-Dubska-PClines.pdf)。
GPUImageLineGenerator:一个帮助程序类,可生成可以覆盖场景的线条。可以使用-setLineColorRed:green:blue来调整这些行的颜色:
GPUImageMotionBlurFilter:对图像应用定向运动模糊
GPUImageZoomBlurFilter:将定向运动模糊应用于图像
GPUImageChromaKeyBlendFilter:选择性地将第一张图片中的颜色替换为第二张图片
GPUImageDissolveBlendFilter:应用两个图像的溶解混合
GPUImageMultiplyBlendFilter:应用两个图像的乘法混合
GPUImageAddBlendFilter:应用两个图像的加法混合
GPUImageSubtractBlendFilter:应用两个图像的减法混合
GPUImageDivideBlendFilter:应用两个图像的除法混合
GPUImageOverlayBlendFilter:应用两个图像的叠加混合
GPUImageDarkenBlendFilter:通过获取图像之间每个颜色分量的最小值来融合两个图像
GPUImageLightenBlendFilter:通过获取图像之间每个颜色分量的最大值来融合两个图像
GPUImageColorBurnBlendFilter:应用两个图像的颜色加深混合
GPUImageColorDodgeBlendFilter:应用两个图像的颜色减淡混合
GPUImageScreenBlendFilter:应用两个图像的屏幕混合
GPUImageExclusionBlendFilter:应用两个图像的排除混合
GPUImageDifferenceBlendFilter:应用两个图像的差异混合
GPUImageHardLightBlendFilter:应用两个图像的强光混合
GPUImageSoftLightBlendFilter:应用两个图像的柔光混合
GPUImageAlphaBlendFilter:根据第二个图像的Alpha通道在第二个图像上混合第二个图像
GPUImageSourceOverBlendFilter:将源应用于两个图像的混合
GPUImageColorBurnBlendFilter:应用两个图像的颜色加深混合
GPUImageColorDodgeBlendFilter:应用两个图像的颜色减淡混合
GPUImageNormalBlendFilter:应用两个图像的普通混合
GPUImageColorBlendFilter:应用两个图像的颜色混合
GPUImageHueBlendFilter:应用两个图像的色调混合
GPUImageSaturationBlendFilter:应用两个图像的饱和度混合
GPUImageLuminosityBlendFilter:应用两个图像的亮度混合
GPUImageLinearBurnBlendFilter:应用两个图像的线性刻录混合
GPUImagePoissonBlendFilter:应用两个图像的泊松混合
GPUImageMaskFilter:使用另一图像遮罩一个图像
GPUImagePixellateFilter:对图像或视频应用像素化效果
GPUImagePolarPixellateFilter:基于极坐标而不是笛卡尔坐标,对图像或视频应用像素化效果
GPUImagePolkaDotFilter:将图像分成规则网格内的彩色点
GPUImageHalftoneFilter:对图像应用半色调效果,例如新闻打印
GPUImageCrosshatchFilter:这会将图像转换为黑白交叉阴影线图案
GPUImageSketchFilter:将视频转换为草图。这只是颜色反转的Sobel边缘检测滤镜
GPUImageThresholdSketchFilter:与草图过滤器相同,仅对边缘进行阈值处理,而不是灰度
GPUImageToonFilter:它使用Sobel边缘检测在对象周围放置黑色边框,然后对图像中存在的颜色进行量化,以使图像具有卡通般的质量。
GPUImageSmoothToonFilter:这使用与GPUImageToonFilter相似的过程,只是它在香椿效果之前带有高斯模糊以平滑噪声。
GPUImageEmbossFilter:在图像上施加压纹效果
GPUImagePosterizeFilter:这将颜色动态范围减小到指定的步骤数,从而导致图像像卡通一样简单的阴影。
GPUImageSwirlFilter:在图像上创建漩涡形失真
GPUImageBulgeDistortionFilter:在图像上创建凸出的失真
GPUImagePinchDistortionFilter:创建图像的少量变形
GPUImageStretchDistortionFilter:创建图像的拉伸变形
GPUImageSphereRefractionFilter:模拟通过玻璃球体的折射
GPUImageGlassSphereFilter:与GPUImageSphereRefractionFilter相同,仅图像未反转,玻璃的边缘有少许磨砂
GPUImageVignetteFilter:执行渐晕效果,使边缘的图像淡化
GPUImageKuwaharaFilter:从Kyprianidis等人的作品中提取的Kuwahara图像抽象。等 在GPU Pro系列中的出版物“ GPU上的各向异性Kuwahara滤波”中。这会产生类似油画的图像,但是在计算上非常昂贵,因此在iPad 2上渲染框架可能需要几秒钟的时间。这可能最适合用于静止图像。
GPUImageKuwaharaRadius3Filter:Kuwahara滤镜的修改版,已优化为仅在三个像素的半径上工作
GPUImagePerlinNoiseFilter:生成充满Perlin噪点的图像
GPUImageCGAColorspaceFilter:模拟CGA监视器的颜色空间
GPUImageMosaicFilter:此滤镜采用输入图块集,图块的亮度必须上升。它查看输入图像,并根据输入图块的亮度用输入图块替换每个显示图块。这个想法是复制在其他应用程序中看到的ASCII视频过滤器,但是tileet可以是任何东西。
GPUImageJFAVoronoiFilter:生成Voronoi贴图,以供以后使用。
GPUImageVoronoiConsumerFilter:接收Voronoi映射,并使用该映射过滤传入的图像。