> For the complete documentation index, see [llms.txt](https://philm.gitbook.io/philm-ios-wiki/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://philm.gitbook.io/philm-ios-wiki/mei-zhou-yue-du/gpuimage-yuan-ma-jie-du-er-shi-wu.md).

# GPUImage源码解读(二十五)

```
.
├── GPUImage.xcodeproj
│   ├── project.pbxproj
│   ├── project.xcworkspace
├── GPUImageMac.xcodeproj
│   ├── project.pbxproj
│   ├── project.xcworkspace
├── Resources //资源图片
│   ├── lookup.png
│   ├── lookup_amatorka.png
│   ├── lookup_miss_etikate.png
│   ├── lookup_soft_elegance_1.png
│   └── lookup_soft_elegance_2.png
└── Source
    ├── GLProgram.h
    ├── GLProgram.m
    ├── GPUImage.h
    ├── GPUImage3x3ConvolutionFilter.h//3x3卷积，高亮大色块变黑，加亮边缘、线条等
    ├── GPUImage3x3ConvolutionFilter.m
    ├── GPUImage3x3TextureSamplingFilter.h
    ├── GPUImage3x3TextureSamplingFilter.m
    ├── GPUImageAdaptiveThresholdFilter.h//自适应阈值
    ├── GPUImageAdaptiveThresholdFilter.m
    ├── GPUImageAddBlendFilter.h//通常用于创建两个图像之间的动画变亮模糊效果
    ├── GPUImageAddBlendFilter.m
    ├── GPUImageAlphaBlendFilter.h//透明混合,通常用于在背景上应用前景的透明度
    ├── GPUImageAlphaBlendFilter.m
    ├── GPUImageAmatorkaFilter.h//Amatorka lookup
    ├── GPUImageAmatorkaFilter.m
    ├── GPUImageAverageColor.h//像素平均色值
    ├── GPUImageAverageColor.m
    ├── GPUImageAverageLuminanceThresholdFilter.h //像素色值亮度平均，图像黑白（有类似漫画效果）
    ├── GPUImageAverageLuminanceThresholdFilter.m
    ├── GPUImageBilateralFilter.h//双边模糊
    ├── GPUImageBilateralFilter.m
    ├── GPUImageBoxBlurFilter.h//盒状模糊
    ├── GPUImageBoxBlurFilter.m
    ├── GPUImageBrightnessFilter.h //亮度
    ├── GPUImageBrightnessFilter.m
    ├── GPUImageBuffer.h
    ├── GPUImageBuffer.m
    ├── GPUImageBulgeDistortionFilter.h//凸起失真，鱼眼效果
    ├── GPUImageBulgeDistortionFilter.m
    ├── GPUImageCGAColorspaceFilter.h//CGA色彩滤镜，形成黑、浅蓝、紫色块的画面
    ├── GPUImageCGAColorspaceFilter.m
    ├── GPUImageCannyEdgeDetectionFilter.h//Canny边缘检测算法（比上更强烈的黑白对比度）
    ├── GPUImageCannyEdgeDetectionFilter.m
    ├── GPUImageChromaKeyBlendFilter.h //色度键混合
    ├── GPUImageChromaKeyBlendFilter.m
    ├── GPUImageChromaKeyFilter.h//色度键
    ├── GPUImageChromaKeyFilter.m
    ├── GPUImageClosingFilter.h//黑白色调模糊，暗色会被提亮
    ├── GPUImageClosingFilter.m
    ├── GPUImageColorBlendFilter.h
    ├── GPUImageColorBlendFilter.m
    ├── GPUImageColorBurnBlendFilter.h//色彩加深混合
    ├── GPUImageColorBurnBlendFilter.m
    ├── GPUImageColorDodgeBlendFilter.h//色彩减淡混合
    ├── GPUImageColorDodgeBlendFilter.m
    ├── GPUImageColorInvertFilter.h//反色
    ├── GPUImageColorInvertFilter.m
    ├── GPUImageColorMatrixFilter.h
    ├── GPUImageColorMatrixFilter.m
    ├── GPUImageColorPackingFilter.h//色彩丢失，模糊（类似监控摄像效果）
    ├── GPUImageColorPackingFilter.m
    ├── GPUImageContrastFilter.h//对比度
    ├── GPUImageContrastFilter.m
    ├── GPUImageCropFilter.h//剪裁
    ├── GPUImageCropFilter.m
    ├── GPUImageCrosshairGenerator.h//十字
    ├── GPUImageCrosshairGenerator.m
    ├── GPUImageCrosshatchFilter.h //交叉线阴影，形成黑白网状画面
    ├── GPUImageCrosshatchFilter.m
    ├── GPUImageDarkenBlendFilter.h//加深混合,通常用于重叠类型
    ├── GPUImageDarkenBlendFilter.m
    ├── GPUImageDifferenceBlendFilter.h//差异混合,通常用于创建更多变动的颜色
    ├── GPUImageDifferenceBlendFilter.m
    ├── GPUImageDilationFilter.h//扩展边缘模糊，变黑白
    ├── GPUImageDilationFilter.m
    ├── GPUImageDirectionalNonMaximumSuppressionFilter.h
    ├── GPUImageDirectionalNonMaximumSuppressionFilter.m
    ├── GPUImageDissolveBlendFilter.h//溶解
    ├── GPUImageDissolveBlendFilter.m
    ├── GPUImageDivideBlendFilter.h//通常用于创建两个图像之间的动画变暗模糊效果
    ├── GPUImageDivideBlendFilter.m
    ├── GPUImageEmbossFilter.h//浮雕效果，带有点3d的感觉
    ├── GPUImageEmbossFilter.m
    ├── GPUImageErosionFilter.h//RGB侵蚀边缘模糊，有色彩
    ├── GPUImageErosionFilter.m
    ├── GPUImageExclusionBlendFilter.h//排除混合
    ├── GPUImageExclusionBlendFilter.m
    ├── GPUImageExposureFilter.h//曝光
    ├── GPUImageExposureFilter.m
    ├── GPUImageFASTCornerDetectionFilter.h
    ├── GPUImageFASTCornerDetectionFilter.m
    ├── GPUImageFalseColorFilter.h//色彩替换（替换亮部和暗部色彩）
    ├── GPUImageFalseColorFilter.m
    ├── GPUImageFilter.h
    ├── GPUImageFilter.m
    ├── GPUImageFilterGroup.h
    ├── GPUImageFilterGroup.m
    ├── GPUImageFilterPipeline.h
    ├── GPUImageFilterPipeline.m
    ├── GPUImageFramebuffer.h
    ├── GPUImageFramebuffer.m
    ├── GPUImageFramebufferCache.h
    ├── GPUImageFramebufferCache.m
    ├── GPUImageGammaFilter.h//伽马线
    ├── GPUImageGammaFilter.m
    ├── GPUImageGaussianBlurFilter.h//高斯模糊
    ├── GPUImageGaussianBlurFilter.m
    ├── GPUImageGaussianBlurPositionFilter.h
    ├── GPUImageGaussianBlurPositionFilter.m
    ├── GPUImageGaussianSelectiveBlurFilter.h//高斯模糊，选择部分清晰
    ├── GPUImageGaussianSelectiveBlurFilter.m
    ├── GPUImageGlassSphereFilter.h//水晶球效果
    ├── GPUImageGlassSphereFilter.m
    ├── GPUImageGrayscaleFilter.h//灰度
    ├── GPUImageGrayscaleFilter.m
    ├── GPUImageHSBFilter.h
    ├── GPUImageHSBFilter.m
    ├── GPUImageHalftoneFilter.h//点染,图像黑白化，由黑点构成原图的大致图形
    ├── GPUImageHalftoneFilter.m
    ├── GPUImageHardLightBlendFilter.h//强光混合,通常用于创建阴影效果
    ├── GPUImageHardLightBlendFilter.m
    ├── GPUImageHarrisCornerDetectionFilter.h//Harris角点检测，会有绿色小十字显示在图片角点处
    ├── GPUImageHarrisCornerDetectionFilter.m
    ├── GPUImageHazeFilter.h //朦胧加暗
    ├── GPUImageHazeFilter.m
    ├── GPUImageHighPassFilter.h//图像低于某值时显示为黑
    ├── GPUImageHighPassFilter.m
    ├── GPUImageHighlightShadowFilter.h//提亮阴影
    ├── GPUImageHighlightShadowFilter.m
    ├── GPUImageHistogramFilter.h //色彩直方图，显示在图片上
    ├── GPUImageHistogramFilter.m
    ├── GPUImageHistogramGenerator.h //色彩直方图
    ├── GPUImageHistogramGenerator.m
    ├── GPUImageHoughTransformLineDetector.h//线条检测
    ├── GPUImageHoughTransformLineDetector.m
    ├── GPUImageHueBlendFilter.h
    ├── GPUImageHueBlendFilter.m
    ├── GPUImageHueFilter.h//色度
    ├── GPUImageHueFilter.m
    ├── GPUImageJFAVoronoiFilter.h
    ├── GPUImageJFAVoronoiFilter.m
    ├── GPUImageKuwaharaFilter.h//桑原(Kuwahara)滤波,水粉画的模糊效果；处理时间比较长，慎用
    ├── GPUImageKuwaharaFilter.m
    ├── GPUImageKuwaharaRadius3Filter.h
    ├── GPUImageKuwaharaRadius3Filter.m
    ├── GPUImageLanczosResamplingFilter.h //Lanczos重取样，模糊效果
    ├── GPUImageLanczosResamplingFilter.m
    ├── GPUImageLaplacianFilter.h
    ├── GPUImageLaplacianFilter.m
    ├── GPUImageLevelsFilter.h //色阶
    ├── GPUImageLevelsFilter.m
    ├── GPUImageLightenBlendFilter.h //减淡混合,通常用于重叠类型
    ├── GPUImageLightenBlendFilter.m
    ├── GPUImageLineGenerator.h//线条
    ├── GPUImageLineGenerator.m
    ├── GPUImageLinearBurnBlendFilter.h
    ├── GPUImageLinearBurnBlendFilter.m
    ├── GPUImageLocalBinaryPatternFilter.h//图像黑白化，并有大量噪点
    ├── GPUImageLocalBinaryPatternFilter.m
    ├── GPUImageLookupFilter.h//lookup 色彩调整
    ├── GPUImageLookupFilter.m
    ├── GPUImageLowPassFilter.h//用于图像加亮
    ├── GPUImageLowPassFilter.m
    ├── GPUImageLuminanceRangeFilter.h
    ├── GPUImageLuminanceRangeFilter.m
    ├── GPUImageLuminanceThresholdFilter.h //亮度阈
    ├── GPUImageLuminanceThresholdFilter.m
    ├── GPUImageLuminosity.h //亮度平均
    ├── GPUImageLuminosity.m
    ├── GPUImageLuminosityBlendFilter.h
    ├── GPUImageLuminosityBlendFilter.m
    ├── GPUImageMaskFilter.h//遮罩混合
    ├── GPUImageMaskFilter.m
    ├── GPUImageMedianFilter.h//中间值，有种稍微模糊边缘的效果
    ├── GPUImageMedianFilter.m
    ├── GPUImageMissEtikateFilter.h//MissEtikate lookup
    ├── GPUImageMissEtikateFilter.m
    ├── GPUImageMonochromeFilter.h//单色
    ├── GPUImageMonochromeFilter.m
    ├── GPUImageMosaicFilter.h//黑白马赛克
    ├── GPUImageMosaicFilter.m
    ├── GPUImageMotionBlurFilter.h
    ├── GPUImageMotionBlurFilter.m
    ├── GPUImageMotionDetector.h//动作检测
    ├── GPUImageMotionDetector.m
    ├── GPUImageMovie.h
    ├── GPUImageMovie.m
    ├── GPUImageMovieComposition.h
    ├── GPUImageMovieComposition.m
    ├── GPUImageMultiplyBlendFilter.h //通常用于创建阴影和深度效果
    ├── GPUImageMultiplyBlendFilter.m
    ├── GPUImageNobleCornerDetectionFilter.h//Noble角点检测，检测点更多
    ├── GPUImageNobleCornerDetectionFilter.m
    ├── GPUImageNonMaximumSuppressionFilter.h//非最大抑制，只显示亮度最高的像素，其他为黑
    ├── GPUImageNonMaximumSuppressionFilter.m
    ├── GPUImageNormalBlendFilter.h//正常
    ├── GPUImageNormalBlendFilter.m
    ├── GPUImageOpacityFilter.h //不透明度
    ├── GPUImageOpacityFilter.m
    ├── GPUImageOpeningFilter.h//黑白色调模糊
    ├── GPUImageOpeningFilter.m
    ├── GPUImageOutput.h
    ├── GPUImageOutput.m
    ├── GPUImageOverlayBlendFilter.h//叠加,通常用于创建阴影效果
    ├── GPUImageOverlayBlendFilter.m
    ├── GPUImageParallelCoordinateLineTransformFilter.h//平行线检测
    ├── GPUImageParallelCoordinateLineTransformFilter.m
    ├── GPUImagePerlinNoiseFilter.h//柏林噪点，花边噪点
    ├── GPUImagePerlinNoiseFilter.m
    ├── GPUImagePinchDistortionFilter.h//收缩失真，凹面镜
    ├── GPUImagePinchDistortionFilter.m
    ├── GPUImagePixellateFilter.h//像素化
    ├── GPUImagePixellateFilter.m
    ├── GPUImagePixellatePositionFilter.h
    ├── GPUImagePixellatePositionFilter.m
    ├── GPUImagePoissonBlendFilter.h
    ├── GPUImagePoissonBlendFilter.m
    ├── GPUImagePolarPixellateFilter.h//同心圆像素化
    ├── GPUImagePolarPixellateFilter.m
    ├── GPUImagePolkaDotFilter.h//像素圆点花样
    ├── GPUImagePolkaDotFilter.m
    ├── GPUImagePosterizeFilter.h//色调分离，形成噪点效果
    ├── GPUImagePosterizeFilter.m
    ├── GPUImagePrewittEdgeDetectionFilter.h//普瑞维特(Prewitt)边缘检测(效果与Sobel差不多，貌似更平滑)
    ├── GPUImagePrewittEdgeDetectionFilter.m
    ├── GPUImageRGBClosingFilter.h//彩色模糊，暗色会被提亮
    ├── GPUImageRGBClosingFilter.m
    ├── GPUImageRGBDilationFilter.h//RGB扩展边缘模糊，有色彩
    ├── GPUImageRGBDilationFilter.m
    ├── GPUImageRGBErosionFilter.h
    ├── GPUImageRGBErosionFilter.m
    ├── GPUImageRGBFilter.h//RGB
    ├── GPUImageRGBFilter.m
    ├── GPUImageRGBOpeningFilter.h//彩色模糊
    ├── GPUImageRGBOpeningFilter.m
    ├── GPUImageRawDataInput.h
    ├── GPUImageRawDataInput.m
    ├── GPUImageRawDataOutput.h
    ├── GPUImageRawDataOutput.m
    ├── GPUImageSaturationBlendFilter.h
    ├── GPUImageSaturationBlendFilter.m
    ├── GPUImageSaturationFilter.h//饱和度
    ├── GPUImageSaturationFilter.m
    ├── GPUImageScreenBlendFilter.h//屏幕包裹,通常用于创建亮点和镜头眩光
    ├── GPUImageScreenBlendFilter.m
    ├── GPUImageSepiaFilter.h//褐色（怀旧）
    ├── GPUImageSepiaFilter.m
    ├── GPUImageSharpenFilter.h//锐化
    ├── GPUImageSharpenFilter.m
    ├── GPUImageShiTomasiFeatureDetectionFilter.h//ShiTomasi角点检测，与上差别不大
    ├── GPUImageShiTomasiFeatureDetectionFilter.m
    ├── GPUImageSingleComponentGaussianBlurFilter.h
    ├── GPUImageSingleComponentGaussianBlurFilter.m
    ├── GPUImageSketchFilter.h//素描
    ├── GPUImageSketchFilter.m
    ├── GPUImageSmoothToonFilter.h//相比GPUImageToonFilter的效果更细腻，上面是粗旷的画风
    ├── GPUImageSmoothToonFilter.m
    ├── GPUImageSobelEdgeDetectionFilter.h//Sobel边缘检测算法(白边，黑内容，有点漫画的反色效果)
    ├── GPUImageSobelEdgeDetectionFilter.m
    ├── GPUImageSoftEleganceFilter.h //SoftElegance lookup
    ├── GPUImageSoftEleganceFilter.m
    ├── GPUImageSoftLightBlendFilter.h//柔光混合
    ├── GPUImageSoftLightBlendFilter.m
    ├── GPUImageSolidColorGenerator.h//纯色
    ├── GPUImageSolidColorGenerator.m
    ├── GPUImageSourceOverBlendFilter.h//源混合
    ├── GPUImageSourceOverBlendFilter.m
    ├── GPUImageSphereRefractionFilter.h//球形折射，图形倒立
    ├── GPUImageSphereRefractionFilter.m
    ├── GPUImageStillCamera.h
    ├── GPUImageStillCamera.m
    ├── GPUImageStretchDistortionFilter.h//伸展失真，哈哈镜
    ├── GPUImageStretchDistortionFilter.m
    ├── GPUImageSubtractBlendFilter.h//差值混合,通常用于创建两个图像之间的动画变暗模糊效果
    ├── GPUImageSubtractBlendFilter.m
    ├── GPUImageSwirlFilter.h //漩涡，中间形成卷曲的画面
    ├── GPUImageSwirlFilter.m
    ├── GPUImageTextureInput.h
    ├── GPUImageTextureInput.m
    ├── GPUImageTextureOutput.h
    ├── GPUImageTextureOutput.m
    ├── GPUImageThreeInputFilter.h
    ├── GPUImageThreeInputFilter.m
    ├── GPUImageThresholdEdgeDetectionFilter.h//阈值边缘检测（效果与上差别不大）
    ├── GPUImageThresholdEdgeDetectionFilter.m
    ├── GPUImageThresholdSketchFilter.h//阀值素描，形成有噪点的素描
    ├── GPUImageThresholdSketchFilter.m
    ├── GPUImageThresholdedNonMaximumSuppressionFilter.h//与上相比，像素丢失更多
    ├── GPUImageThresholdedNonMaximumSuppressionFilter.m
    ├── GPUImageTiltShiftFilter.h //条纹模糊，中间清晰，上下两端模糊
    ├── GPUImageTiltShiftFilter.m
    ├── GPUImageToneCurveFilter.h//色调曲线
    ├── GPUImageToneCurveFilter.m
    ├── GPUImageToonFilter.h//卡通效果（黑色粗线描边）
    ├── GPUImageToonFilter.m
    ├── GPUImageTransformFilter.h//形状变化
    ├── GPUImageTransformFilter.m
    ├── GPUImageTwoInputCrossTextureSamplingFilter.h
    ├── GPUImageTwoInputCrossTextureSamplingFilter.m
    ├── GPUImageTwoInputFilter.h
    ├── GPUImageTwoInputFilter.m
    ├── GPUImageTwoPassFilter.h
    ├── GPUImageTwoPassFilter.m
    ├── GPUImageTwoPassTextureSamplingFilter.h
    ├── GPUImageTwoPassTextureSamplingFilter.m
    ├── GPUImageUIElement.h
    ├── GPUImageUIElement.m
    ├── GPUImageUnsharpMaskFilter.h//反遮罩锐化
    ├── GPUImageUnsharpMaskFilter.m
    ├── GPUImageVideoCamera.h
    ├── GPUImageVideoCamera.m
    ├── GPUImageVignetteFilter.h//晕影，形成黑色圆形边缘，突出中间图像的效果
    ├── GPUImageVignetteFilter.m
    ├── GPUImageVoronoiConsumerFilter.h
    ├── GPUImageVoronoiConsumerFilter.m
    ├── GPUImageWeakPixelInclusionFilter.h
    ├── GPUImageWeakPixelInclusionFilter.m
    ├── GPUImageWhiteBalanceFilter.h//白平衡
    ├── GPUImageWhiteBalanceFilter.m
    ├── GPUImageXYDerivativeFilter.h //XYDerivative边缘检测，画面以蓝色为主，绿色为边缘，带彩色
    ├── GPUImageXYDerivativeFilter.m
    ├── GPUImageZoomBlurFilter.h
    ├── GPUImageZoomBlurFilter.m
    ├── GPUImageiOSBlurFilter.h
    ├── GPUImageiOSBlurFilter.m
    ├── GPUimageDirectionalSobelEdgeDetectionFilter.h
    ├── GPUimageDirectionalSobelEdgeDetectionFilter.m
    ├── Mac
    │   ├── GPUImage.h
    │   ├── GPUImageAVCamera.h
    │   ├── GPUImageAVCamera.m
    │   ├── GPUImageContext.h
    │   ├── GPUImageContext.m
    │   ├── GPUImageMac-Info.plist
    │   ├── GPUImageMac-Prefix.pch
    │   ├── GPUImageMovieWriter.h
    │   ├── GPUImageMovieWriter.m
    │   ├── GPUImagePicture.h
    │   ├── GPUImagePicture.m
    │   ├── GPUImageView.h
    │   ├── GPUImageView.m
    │   └── en.lproj
    │       └── InfoPlist.strings
    └── iOS
        ├── Framework
        │   ├── GPUImageFramework.h
        │   ├── Info.plist
        │   └── module.modulemap
        ├── GPUImage-Prefix.pch
        ├── GPUImageContext.h
        ├── GPUImageContext.m
        ├── GPUImageMovieWriter.h
        ├── GPUImageMovieWriter.m
        ├── GPUImagePicture+TextureSubimage.h
        ├── GPUImagePicture+TextureSubimage.m
        ├── GPUImagePicture.h
        ├── GPUImagePicture.m
        ├── GPUImageView.h
        └── GPUImageView.m

GPUImageFastBlurFilter
39 directories, 376 files
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://philm.gitbook.io/philm-ios-wiki/mei-zhou-yue-du/gpuimage-yuan-ma-jie-du-er-shi-wu.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
