天天看點

iOS GPUImage研究序一:内置濾鏡

本片介紹關于GPUImage的125個内置過濾器:xoxo_x 著

iOS GPUImage研究序一:内置濾鏡

本文參考: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 =

      GPUImageSkinToneUpperColorGreen

      GPUImageSkinToneUpperColorOrange

  • 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:圖像的寬高比,用于調整對焦區域的圓形度。預設情況下,這與圖像寬高比相比對,但您可以覆寫此值。
  • GPUImageGaussianBlurPositionFilter:GPUImageGaussianSelectiveBlurFilter的逆,隻在特定圓圈内應用模糊
    • 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:底層模糊紋理像素間距乘數。
    • upperThreshold:front 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:對輸入的視訊幀應用高通濾波器。這是低通濾波器的反相,示出了目前幀與前一幀的權重滾動平均值之間的差。這對運動檢測最有用。
    • filterStrength:this控制先前累加的幀被混合的程度,然後從目前的累加幀中減去。範圍從0.0到1.0,預設值為0.5。
  • GPUImageMotionDetector:這是一個基于高通濾波器的運動檢測器。您設定motionDetectionBlock,并且在每個傳入幀中,它将為您提供場景中任何檢測到的運動的質心(以标準化的X,Y坐标)以及場景的運動強度。
    • lowPassFilterStrength:this控制了幕後使用的低通濾波器的強度,以建立與輸入幀進行比較的基線。範圍從0.0到1.0,預設值為0.5。
  • GPUImageHoughTransformLineDetector:使用霍夫變換檢測圖像中的線到平行坐标空間。這種方法完全基于由布爾諾科技大學的Graph @ FIT研究小組開發的PC線路過程,并在他們的出版物中描述:M.Dubská ,J.Havel,and A.Helout。使用平行坐标和OpenGL的線的實時檢測。Proceedings of SCCG 2011,Bratislava,SK,第7 頁(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)

混合模式

  • GPUImageChromaKeyBlendFilter:use第二個圖像選擇性替換第一個圖像中的顔色
    • 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:單個元素的大小