版本記錄
版本號 | 時間 |
---|---|
V1.0 | 2017.09.01 |
前言
GPUImage
是直接利用顯卡實現(xiàn)視頻或者圖像處理的技術(shù)谊惭。感興趣可以看上面幾篇文章。
1. GPUImage解析(一) —— 基本概覽(一)
內(nèi)置濾鏡
目前有125個內(nèi)置過濾器,分為以下幾類:
1. 顏色調(diào)整
-
GPUImageBrightnessFilter
:調(diào)整圖像的亮度- 亮度:調(diào)整亮度(-1.0 - 1.0南吮,默認值為0.0)
-
GPUImageExposureFilter
:調(diào)整圖像的曝光- 曝光:調(diào)整曝光(-10.0 - 10.0龄句,默認為0.0)
-
GPUImageContrastFilter
:調(diào)整圖像的對比度- 對比度:調(diào)整后的對比度(0.0 - 4.0傀蚌,默認為1.0)
-
GPUImageSaturationFilter
:調(diào)整圖像的飽和度- 飽和度:應(yīng)用于圖像的飽和度或去飽和度(0.0 - 2.0勋桶,默認值為1.0)
-
GPUImageGammaFilter
:調(diào)整圖像的灰度- gamma:要應(yīng)用的gamma調(diào)整(0.0 - 3.0脱衙,默認值為1.0)
GPUImageLevelsFilter
:像Photoshop一樣的級別調(diào)整。min哥遮,max,minOut和maxOut參數(shù)是[0陵究,1]范圍內(nèi)的浮點數(shù)眠饮。如果您在[0,255]范圍內(nèi)的Photoshop中有參數(shù),則必須先將其轉(zhuǎn)換為[0铜邮,1]仪召。gamma / mid參數(shù)是float> = 0.這與Photoshop中的值相匹配寨蹋。如果您要將級別應(yīng)用于RGB以及各個通道,則需要使用此過濾器兩??次 - 首先是單個通道扔茅,然后是所有通道已旧。-
GPUImageColorMatrixFilter
:通過對它們應(yīng)用矩陣來轉(zhuǎn)換圖像的顏色-
colorMatrix
:用于轉(zhuǎn)換圖像中每種顏色的4x4矩陣 - 強度:新變換顏色取代每個像素的原始顏色的程度
-
-
GPUImageRGBFilter
:調(diào)整圖像的各個RGB通道- 紅色:每個顏色通道乘以的歸一化值。范圍為0.0召娜,默認值為1.0运褪。
- 綠色:
- 藍色:
-
GPUImageHueFilter
:調(diào)整圖像的色調(diào)- 色調(diào):色調(diào)角度,以度為單位玖瘸。默認為90度
-
GPUImageVibranceFilter
:調(diào)整圖像的氣泡-
vibrance
:要應(yīng)用的振動調(diào)整秸讹,使用0.0作為默認值,建議的最小/最大值分別為-1.2和1.2左右雅倒。
-
-
GPUImageWhiteBalanceFilter
:調(diào)整圖像的白平衡璃诀。- 溫度:以oK調(diào)整圖像的溫度。4000的值非趁锵唬酷劣欢,7000非常溫暖。默認值為5000.請注意裁良,4000和5000之間的刻度幾乎與5000到7000之間的視覺顯著性相當(dāng)凿将。
- 色調(diào):通過調(diào)整圖像的色調(diào)。值-200是非常綠色趴久,200是非常粉紅色丸相。默認值為0。
-
GPUImageToneCurveFilter
:根據(jù)每個顏色通道的樣條曲線調(diào)整圖像的顏色彼棍。redControlPoints:
greenControlPoints:
blueControlPoints:
-
rgbCompositeControlPoints:
色調(diào)曲線采用一系列控制點灭忠,它們定義每個顏色分量的樣條曲線,或復(fù)合組合中的所有三個樣條曲線座硕。這些存儲為NSArray中的NSValue包裝的CGPoint弛作,標(biāo)準(zhǔn)化的X和Y坐標(biāo)為0 - 1。默認值為(0,0)华匾,(0.5,0.5)映琳,(1,1)。
-
GPUImageHighlightShadowFilter
:調(diào)整圖像的陰影和高光- 陰影:增加減輕陰影蜘拉,從0.0到1.0萨西,默認值為0.0。
- 亮點:降低亮度旭旭,從1.0到0.0谎脯,默認值為1.0。
-
GPUImageHighlightShadowTintFilter
:允許您使用顏色和強度獨立地對圖像的陰影和高光進行著色-
shadowTintColor
:陰影色調(diào)RGB顏色(GPUVector4)持寄。默認值:({1.0f, 0.0f, 0.0f, 1.0f}紅色)源梭。 -
highlightTintColor
:突出顯示色彩RGB顏色(GPUVector4)娱俺。默認值:({0.0f, 0.0f, 1.0f, 1.0f}藍色)。 -
shadowTintIntensity
:陰影色調(diào)強度废麻,從0.0到1.0荠卷。默認值:0.0 -
highlightTintIntensity
:突出顯示色調(diào)強度,從0.0到1.0烛愧,默認值為0.0油宜。
-
GPUImageLookupFilter
:使用RGB顏色查找圖像在一個圖像中重新映射的顏色。 首先屑彻,使用您最喜歡的照片編輯應(yīng)用程序验庙,對GPUImage / framework / Resources
中l(wèi)ookup.png應(yīng)用一個過濾器。 為了使其正常工作社牲,每個像素顏色必須不依賴于其他像素(例如粪薛,模糊不起作用)。 如果您需要更復(fù)雜的過濾器搏恤,則可以根據(jù)需要創(chuàng)建任意數(shù)量的查找表违寿。 一旦準(zhǔn)備就緒,請使用新的lookup.png文件作為GPUImageLookupFilter
的第二個輸入熟空。GPUImageAmatorkaFilter
:基于Amatorka
的Photoshop動作的照片過濾器:http://amatorka.deviantart.com/art/Amatorka-Action-2-121069631藤巢。 如果要使用此效果,則必須將GPUImage資源文件夾中的lookup_amatorka.png
添加到應(yīng)用程序包中息罗。GPUImageMissEtikateFilter
:基于Photoshop行動的照片過濾器掂咒,由Etikate小姐:http://miss-etikate.deviantart.com/art/Photoshop-Action-15-120151961。 如果要使用此效果迈喉,則必須將“GPUImage Resources”文件夾中的lookup_miss_etikate.png
添加到應(yīng)用程序包中绍刮。GPUImageSoftEleganceFilter
:另一種基于查找的顏色重映射濾鏡。 如果要使用此效果挨摸,您必須將lookup_soft_elegance_1.png
和lookup_soft_elegance_2.png
從GPUImage Resources
文件夾添加到應(yīng)用程序包中孩革。-
GPUImageSkinToneFilter
:一種膚色調(diào)整過濾器,可以影響?yīng)毺氐臏\色調(diào)色調(diào)范圍得运,并相應(yīng)地調(diào)整粉色/綠色或粉色/橙色范圍膝蜈。 默認值是針對白色皮膚,但可根據(jù)需要進行調(diào)整熔掺。-
skinToneAdjust
:調(diào)整膚色的量饱搏。 默認值:0.0,建議最小/最大:分別為-0.3和0.3置逻。 -
skinHue
:要檢測的皮膚色調(diào)推沸。 默認值:0.05(公平的白種人變成紅色皮膚)。 -
skinHueThreshold
:皮膚色調(diào)的變化量诽偷。 默認值:40.0坤学。 -
maxHueShift
:允許最大色調(diào)偏移量。 默認值:0.25报慕。 -
maxSaturationShift
=要移動的最大飽和度(使用橙色時)深浮。 默認值:0.4。 -
upperSkinToneColor
=GPUImageSkinToneUpperColorGreen
或GPUImageSkinToneUpperColorOrange
-
GPUImageColorInvertFilter
:反轉(zhuǎn)圖像的顏色GPUImageGrayscaleFilter
:將圖像轉(zhuǎn)換為灰度級(稍微更快的飽和度濾鏡實現(xiàn)眠冈,無需改變顏色貢獻)-
GPUImageMonochromeFilter
:根據(jù)每個像素的亮度將圖像轉(zhuǎn)換為單色版本- 強度:特定顏色取代正常圖像顏色的程度(0.0 - 1.0飞苇,默認值為1.0)
- 顏色:使用顏色作為效果的基礎(chǔ),以(0.6,0.45,0.3,1.0)為默認值蜗顽。
-
GPUImageFalseColorFilter
:使用圖像的亮度在兩個用戶指定的顏色之間進行混合-
firstColor
:第一和第二種顏色分別指定什么顏色代替圖像的暗部和亮色區(qū)域布卡。默認值為(0.0,0.0,0.5)amd(1.0,0.0,0.0)。 -
secondColor
:
-
-
GPUImageHazeFilter
:用于添加或刪除霧度(類似于UV過濾器)距離:施加的顏色的強度雇盖。默認值0.-3和.3之間的值最好忿等。
坡度:顏色變化量。默認值0.-3和.3之間的值最好崔挖。
GPUImageSepiaFilter:簡單的棕褐色調(diào)濾鏡強度:棕褐色調(diào)取代正常圖像顏色的程度(0.0 - 1.0贸街,默認值為1.0)
-
GPUImageOpacityFilter
:調(diào)整傳入圖像的Alpha通道- 不透明度:將每個像素的傳入Alpha通道乘以(0.0 - 1.0,默認值為1.0)
-
GPUImageSolidColorGenerator
:這將輸出一個生成的圖像與純色狸相。您需要使用-forceProcessingAtSize
定義圖像大醒Ψ恕:- 顏色:用于填充圖像的四分量格式的顏色。
-
GPUImageLuminanceThresholdFilter
:亮度高于閾值的像素將顯示為白色脓鹃,下面的像素將為黑色-
threshold
:亮度閾值逸尖,從0.0到1.0,默認值為0.5
-
-
GPUImageAdaptiveThresholdFilter
:確定像素周圍的本地亮度瘸右,然后將像素轉(zhuǎn)換為低于該亮度的像素娇跟,如果高于白色,則將其轉(zhuǎn)換為黑色尊浓。這可以用于在不同的照明條件下挑選文本逞频。-
blurRadiusInPixels
:用于背景平均模糊半徑(以像素為單位)的乘數(shù),默認值為4栋齿。
-
-
GPUImageAverageLuminanceThresholdFilter
:這將應(yīng)用閾值操作苗胀,其中基于場景的平均亮度連續(xù)調(diào)整閾值。-
thresholdMultiplier
:這是為了達到最終使用閾值而將平均亮度乘以的因素瓦堵。默認情況下基协,這是1.0。
-
-
GPUImageHistogramFilter
:它分析輸入圖像菇用,并創(chuàng)建一個輸出直方圖澜驮,其中出現(xiàn)每個顏色值的頻率。該濾鏡的輸出是3像素高惋鸥,256像素寬的圖像杂穷,中心(垂直)像素包含與各種顏色值發(fā)生頻率對應(yīng)的像素悍缠。每個顏色值占用256個寬度位置中的一個,從左側(cè)的0到右邊的255耐量》沈荆可以為單個顏色通道(kGPUImageHistogramRed
,kGPUImageHistogramGreen
廊蜒,kGPUImageHistogramBlue
)趴拧,圖像的亮度(kGPUImageHistogramLuminance
)或一次的所有三個顏色通道(kGPUImageHistogramRGB
)生成此直方圖。-
downsamplingFactor
:而不是對每個像素進行采樣山叮,這決定了圖像的幾個部分被采樣著榴。默認情況下,這是16屁倔,最小為1.這是需要保持飽和直方圖脑又,每個顏色值只能在其過載之前記錄256個像素。
-
GPUImageHistogramGenerator
:這是一個特殊的過濾器锐借,因為它主要是為了使用GPUImageHistogramFilter挂谍。它生成由GPUImageHistogramFilter生成的顏色直方圖的輸出表示,但它可以重新利用來顯示其他類型的值瞎饲。它占據(jù)一個圖像并且看中心(垂直)像素口叙。然后在輸出紋理中將RGB組件的數(shù)值繪制在單獨的彩色圖形中。您可能需要強制使用此過濾器的大小才能使其輸出可見嗅战。GPUImageAverageColor
:通過對圖像中每個像素的RGBA分量進行平均妄田,處理輸入圖像并確定場景的平均顏色。使用縮減過程逐漸降低對GPU上的源圖像的采樣驮捍,然后在CPU上進行簡單的平均計算疟呐。該過濾器的輸出是無意義的,但是您需要將colorAverageProcessingFinishedBlock
屬性設(shè)置為一個塊东且,該塊具有四個顏色組件和一個幀時間启具,并與它們做一些事情。GPUImageLuminosity
:像GPUImageAverageColor
一樣珊泳,將圖像縮小到其平均亮度鲁冯。您需要設(shè)置luminosityProcessingFinishedBlock
來處理此過濾器的輸出,該輸出只返回亮度值和幀時間色查。-
GPUImageChromaKeyFilter
:對于圖像中的給定顏色薯演,將Alpha通道設(shè)置為0,這與GPUImageChromaKeyBlendFilter
類似秧了,僅代替在第二個圖像中混合匹配的顏色跨扮,這不會占用第二個圖像,只是將給定的顏色顏色透明。- 閾值敏感度:要替換的目標(biāo)顏色需要存在多少顏色匹配(默認值為0.4)
- 平滑:如何平穩(wěn)地融合顏色匹配(默認為0.1)
2. 圖像處理
-
GPUImageTransformFilter
:這將對圖像應(yīng)用任意的2-D或3-D變換-
affineTransform
:這需要一個CGAffineTransform來調(diào)整2-D中的圖像 -
transform3D
:這是一個CATransform3D來處理3-D中的圖像 -
ignoreAspectRatio
:默認情況下衡创,維護變換后的圖像的寬高比帝嗡,但可以將其設(shè)置為“是”,使變換與寬高比無關(guān)
-
-
GPUImageCropFilter
:將圖像裁剪到特定區(qū)域璃氢,然后將該區(qū)域僅傳遞到過濾器的下一個階段-
cropRegion
:裁剪出圖像的矩形區(qū)域丈探,歸一化為0.0 - 1.0的坐標(biāo)。(0.0拔莱,0.0)位置在圖像的左上角。
-
GPUImageLanczosResamplingFilter
:這可以使用Lanczos重采樣來上下采樣圖像隘竭,這樣可以比標(biāo)準(zhǔn)線性或三線性插值顯著提高質(zhì)量塘秦。只需使用-forceProcessingAtSize:
設(shè)置過濾器的目標(biāo)輸出分辨率,并為該大小重新采樣圖像动看。-
GPUImageSharpenFilter
:銳化圖像- 清晰度:適用的銳度調(diào)整(-4.0 - 4.0尊剔,默認為0.0)
-
GPUImageUnsharpMaskFilter
:應(yīng)用反銳化掩碼- blurRadiusInPixels:底層高斯模糊的模糊半徑。默認值為4.0菱皆。
強度:銳化的強度须误,從0.0開始,默認為1.0
- blurRadiusInPixels:底層高斯模糊的模糊半徑。默認值為4.0菱皆。
-
GPUImageGaussianBlurFilter
:硬件優(yōu)化的可變半徑高斯模糊-
texelSpacingMultiplier
:紋素之間的間距的乘數(shù)仇轻,范圍從0.0到up京痢,默認值為1.0。調(diào)整這可能會稍微增加模糊強度篷店,但會在結(jié)果中引入工件祭椰。在接觸這一個之前先強烈推薦使用其他參數(shù)。 -
blurRadiusInPixels
:用于模糊的半徑(以像素為單位)疲陕,默認值為2.0方淤。這調(diào)整高斯分布函數(shù)中的sigma變量。 blurRadiusAsFractionOfImageWidth:
-
blurRadiusAsFractionOfImageHeight:
設(shè)置這些屬性將允許模糊半徑與圖像的大小縮放 -
blurPasses
:順序模糊傳入圖像的次數(shù)蹄殃。越多越好携茂,過濾器越慢。
-
-
GPUImageBoxBlurFilter
:硬件優(yōu)化诅岩,可變半徑框模糊-
texelSpacingMultiplier
:紋素之間的間距的乘數(shù)讳苦,范圍從0.0到up,默認值為1.0吩谦。調(diào)整這可能會稍微增加模糊強度医吊,但會在結(jié)果中引入工件。在接觸這一個之前先強烈推薦使用其他參數(shù)逮京。 -
blurRadiusInPixels
:用于模糊的半徑(以像素為單位)卿堂,默認值為2.0。這調(diào)整高斯分布函數(shù)中的sigma變量。 -
blurRadiusAsFractionOfImageWidth
: -
blurRadiusAsFractionOfImageHeight
:設(shè)置這些屬性將允許模糊半徑與圖像的大小縮放 -
blurPasses
:順序模糊傳入圖像的次數(shù)草描。越多越好览绿,過濾器越慢。
-
-
GPUImageSingleComponentGaussianBlurFilter
:僅對紅色組件進行操作的GPUImageGaussianBlurFilter的修改-
texelSpacingMultiplier
:紋素之間的間距的乘數(shù)穗慕,范圍從0.0到up饿敲,默認值為1.0。調(diào)整這可能會稍微增加模糊強度逛绵,但會在結(jié)果中引入工件怀各。在接觸這一個之前先強烈推薦使用其他參數(shù)。 -
blurRadiusInPixels
:用于模糊的半徑(以像素為單位)术浪,默認值為2.0瓢对。這調(diào)整高斯分布函數(shù)中的sigma變量。 blurRadiusAsFractionOfImageWidth:
-
blurRadiusAsFractionOfImageHeight:
設(shè)置這些屬性將允許模糊半徑與圖像的大小縮放 -
blurPasses
:順序模糊傳入圖像的次數(shù)胰苏。越多越好硕蛹,過濾器越慢。
-
-
GPUImageGaussianSelectiveBlurFilter
:保持圓形區(qū)域內(nèi)焦點的高斯模糊-
blurRadiusInPixels
:用于模糊的半徑(以像素為單位)硕并,默認值為5.0法焰。這調(diào)整高斯分布函數(shù)中的sigma變量。
-
excludeCircleRadius
:從模糊中排除的圓形區(qū)域的半徑excludeCirclePoint
:圓形區(qū)域的中心被排除在模糊之外excludeBlurSize
:模糊部分和清晰圓之間的區(qū)域大小aspectRatio
:圖像的寬高比倔毙,用于調(diào)整對焦區(qū)域的圓度埃仪。默認情況下,這與圖像寬高比匹配陕赃,但您可以覆蓋此值贵试。GPUImageGaussianBlurPositionFilter
:GPUImageGaussianSelectiveBlurFilter
的逆,只在一個圓圈內(nèi)應(yīng)用模糊blurSize
:模糊大小的乘數(shù)凯正,范圍從0.0開始毙玻,默認值為1.0blurCenter
:模糊中心,默認為0.5廊散,0.5blurRadius
:模糊的半徑桑滩,默認為1.0-
GPUImageiOSBlurFilter
:嘗試復(fù)制iOS 7上使用的背景模糊,如控制中心允睹。-
blurRadiusInPixels
:用于模糊的半徑(以像素為單位)运准,默認值為12.0。這調(diào)整高斯分布函數(shù)中的sigma變量缭受。 - 飽和度:飽和度范圍從0.0(完全去飽和)到2.0(最大飽和度)胁澳,0.8作為正常水平
- 下采樣:下采樣的程度,然后對輸入圖像進行上采樣米者,以最小化高斯模糊中的計算韭畸,默認值為4.0宇智。
-
GPUImageMedianFilter
:取三個顏色分量的中值,超過3x3-
GPUImageBilateralFilter
:雙邊模糊胰丁,嘗試在保留銳利邊緣的同時模糊相似的顏色值-
texelSpacingMultiplier
:texel讀取間距的乘數(shù)随橘,范圍從0.0開始,默認值為4.0 -
distanceNormalizationFactor
:中心顏色和樣本顏色之間的距離的歸一化因子锦庸,默認值為8.0机蔗。
-
-
GPUImageTiltShiftFilter
:模擬傾斜移位鏡頭效果-
blurRadiusInPixels
:底層模糊的半徑,以像素為單位甘萧。默認情況下為7.0萝嘁。 -
topFocusLevel
:圖像中對焦區(qū)域頂部的歸一化位置,此值應(yīng)低于bottomFocusLevel扬卷,默認為0.4 -
bottomFocusLevel
:圖像中對焦區(qū)域底部的歸一化位置牙言,此值應(yīng)高于topFocusLevel,默認為0.6 -
focusFallOffRate
:圖像從對焦區(qū)域模糊的速率邀泉,默認為0.2
-
-
GPUImage3x3ConvolutionFilter
:針對圖像運行3x3卷積內(nèi)核- 卷積內(nèi)核:卷積內(nèi)核是要應(yīng)用于像素及其8個周圍像素的值的3x3矩陣。矩陣以行主順序指定钝鸽,左上角的像素為one.one汇恤,右下方為three.three。如果矩陣中的值不能加起來為1.0拔恰,則圖像可能變亮或變暗因谎。
-
GPUImageSobelEdgeDetectionFilter
:Sobel邊緣檢測,邊緣以白色突出顯示-
texelWidth
: -
texelHeight
:這些參數(shù)影響檢測到的邊緣的可見性 -
edgeStrength
:調(diào)整過濾器的動態(tài)范圍颜懊。更高的值導(dǎo)致更強的邊緣财岔,但可以飽和強度的顏色空間。默認值為1.0河爹。
-
-
GPUImagePrewittEdgeDetectionFilter
:Prewitt邊緣檢測匠璧,邊緣以白色突出顯示-
texelWidth
: -
texelHeight
:這些參數(shù)影響檢測到的邊緣的可見性 -
edgeStrength
:調(diào)整過濾器的動態(tài)范圍。更高的值導(dǎo)致更強的邊緣咸这,但可以飽和強度的顏色空間夷恍。默認值為1.0。
-
GPUImageThresholdEdgeDetectionFilter
:執(zhí)行Sobel邊緣檢測媳维,但應(yīng)用閾值酿雪,而不是賦予漸變強度值texelWidth
:texelHeight
:這些參數(shù)影響檢測到的邊緣的可見性edgeStrength
:調(diào)整過濾器的動態(tài)范圍。更高的值導(dǎo)致更強的邊緣侄刽,但可以飽和強度的顏色空間指黎。默認值為1.0。
閾值:任何高于此閾值的邊將為黑色州丹,任何低于白色的邊醋安。范圍從0.0到1.0,默認值為0.8-
GPUImageCannyEdgeDetectionFilter
:這使用完整的Canny進程來突出顯示一個像素寬的邊-
texelWidth
: -
texelHeight
:這些參數(shù)影響檢測到的邊緣的可見性 -
blurRadiusInPixels
:高斯模糊的底層模糊半徑。默認值為2.0茬故。 -
blurTexelSpacingMultiplier
:底層的模糊紋理間距乘數(shù)盖灸。默認值為1.0。 -
upperThreshold
:任何具有高于該閾值的梯度大小的邊將通過并顯示在最終結(jié)果中磺芭。默認值為0.4赁炎。 -
lowerThreshold
:任何具有低于此閾值的梯度大小的邊將失敗,并從最終結(jié)果中移除钾腺。默認值為0.1徙垫。
-
-
GPUImageHarrisCornerDetectionFilter
:在輸入圖像上運行哈里斯角檢測算法,并產(chǎn)生具有這些角點的圖像作為白色像素放棒,其他黑色姻报。cornerDetectedBlock可以被設(shè)置,并且你將被提供一個列表的角(在歸一化的0..1 X间螟,Y坐標(biāo))在回調(diào)任何額外的操作吴旋,你想執(zhí)行。-
blurRadiusInPixels
:底層高斯模糊的半徑厢破。默認值為2.0荣瑟。 - 靈敏度:應(yīng)用內(nèi)部縮放因子來調(diào)整過濾器中生成的角度圖的動態(tài)范圍。默認值為5.0摩泪。
- 閾值:將點檢測為角點的閾值笆焰。這可能會根據(jù)大小,照明條件和iOS設(shè)備攝像機類型而有很大差異见坑,因此可能需要一些實驗來適應(yīng)您的情況嚷掠。默認值為0.20。
-
-
GPUImageNobleCornerDetectionFilter
:在Harris角檢測器上運行Noble變體荞驴。它的行為如上所述對于Harris檢測器不皆。-
blurRadiusInPixels
:底層高斯模糊的半徑。默認值為2.0熊楼。 - 靈敏度:應(yīng)用內(nèi)部縮放因子來調(diào)整過濾器中生成的角度圖的動態(tài)范圍粟焊。默認值為5.0。
- 閾值:將點檢測為角點的閾值孙蒙。這可能會根據(jù)大小项棠,照明條件和iOS設(shè)備攝像機類型而有很大差異,因此可能需要一些實驗來適應(yīng)您的情況挎峦。默認值為0.2香追。
-
-
GPUImageShiTomasiCornerDetectionFilter
:運行Shi-Tomasi特征檢測器。它的行為如上所述對于Harris檢測器坦胶。-
blurRadiusInPixels
:底層高斯模糊的半徑透典。默認值為2.0晴楔。 - 靈敏度:應(yīng)用內(nèi)部縮放因子來調(diào)整過濾器中生成的角度圖的動態(tài)范圍。默認值為1.5峭咒。
- 閾值:將點檢測為角點的閾值税弃。這可能會根據(jù)大小,照明條件和iOS設(shè)備攝像機類型而有很大差異凑队,因此可能需要一些實驗來適應(yīng)您的情況则果。默認值為0.2。
-
GPUImageNonMaximumSuppressionFilter
:目前僅用作哈里斯角檢測濾鏡的一部分漩氨,這將對每個像素周圍的1像素框進行采樣西壮,并確定中心像素的紅色通道是否為該區(qū)域的最大值。如果是叫惊,它停留款青。如果不是,所有顏色分量都設(shè)置為0霍狰。GPUImageXYDerivativeFilter
:哈里斯角檢測濾波器內(nèi)部的一個內(nèi)部元件抡草,它計算出這個像素的左右兩邊之間的平方差,這個像素高于和低于此像素的平方差蔗坯,以及這兩個差異的乘積康震。-
GPUImageCrosshairGenerator
:這個圖像上繪制了一系列十字準(zhǔn)線,最常用于識別機器視覺功能步悠。它不會像其他過濾器那樣采用標(biāo)準(zhǔn)映像签杈,而是在其-renderCrosshairsFromArray:count:
方法中執(zhí)行一系列的操作瘫镇,它將實際繪制鼎兽。您將需要強制此過濾器以您需要的特定輸出大小呈現(xiàn)。-
crosshairWidth
:屏幕上繪制的十字準(zhǔn)線的寬度(以像素為單位)铣除。
-
GPUImageDilationFilter
:執(zhí)行圖像擴張操作谚咬,其中矩形鄰域中的紅色通道的最大強度用于該像素的強度。要采樣的矩形區(qū)域的半徑在初始化時指定尚粘,范圍為1-4像素择卦。這是為了與灰度圖像一起使用,它擴展了明亮的區(qū)域郎嫁。GPUImageRGBDilationFilter
:這與GPUImageDilationFilter相同秉继,除了它對所有顏色通道,而不僅僅是紅色通道泽铛。GPUImageErosionFilter
:執(zhí)行圖像侵蝕操作尚辑,其中矩形鄰域中的紅色通道的最小強度用于該像素的強度。要采樣的矩形區(qū)域的半徑在初始化時指定盔腔,范圍為1-4像素杠茬。這是用于灰度圖像月褥,并且它擴展黑色區(qū)域。GPUImageRGBErosionFilter
:這與GPUImageErosionFilter相同瓢喉,除了它對所有顏色通道宁赤,而不僅僅是紅色通道。GPUImageOpeningFilter
:這會對圖像的紅色通道進行蝕刻栓票,然后是相同半徑的擴展决左。半徑在初始化時設(shè)置,范圍為1-4像素逗载。這將過濾出較小的明亮區(qū)域哆窿。GPUImageRGBOpeningFilter
:這與GPUImageOpeningFilter相同,除了它對所有顏色通道厉斟,而不僅僅是紅色通道挚躯。GPUImageClosingFilter
:這會在圖像的紅色通道上進行擴張,然后是相同半徑的侵蝕擦秽。半徑在初始化時設(shè)置码荔,范圍為1-4像素。這將過濾掉較小的黑暗區(qū)域感挥。GPUImageRGBClosingFilter
:這與GPUImageClosingFilter相同缩搅,除了它對所有顏色通道,而不僅僅是紅色通道触幼。GPUImageLocalBinaryPatternFilter
:執(zhí)行8個周圍像素的紅色通道的強度與中央像素的紅色通道的強度比較硼瓣,將比較結(jié)果編碼為成為該像素強度的位串。最不重要的位是右上角的比較置谦,逆時針旋轉(zhuǎn)堂鲤,以正確的比較結(jié)束為最重要的位。-
GPUImageLowPassFilter
:這對傳入的視頻幀應(yīng)用低通濾波器媒峡。它基本上累積了當(dāng)前幀的加權(quán)滾動平均值瘟栖,可以用于去除視頻,添加運動模糊谅阿,或者用于創(chuàng)建高通濾波器半哟。-
filterStrength
:控制先前累積幀與當(dāng)前累積幀混合的程度。范圍從0.0到1.0签餐,默認值為0.5寓涨。
-
-
GPUImageHighPassFilter
:這將高通濾波器應(yīng)用于傳入的視頻幀。這是低通濾波器的倒數(shù)氯檐,顯示了當(dāng)前幀與先前幀的加權(quán)滾動平均值之間的差異戒良。這對于運動檢測最有用。-
filterStrength
:控制先前累積的幀被混合的程度男摧,然后從當(dāng)前累加幀中減去蔬墩。范圍從0.0到1.0译打,默認值為0.5。
-
-
GPUImageMotionDetector
:這是基于高通濾波器的運動檢測器拇颅。您可以設(shè)置motionDetectionBlock奏司,并且在每個傳入的幀中,它將給出場景中任何檢測到的運動的質(zhì)心(歸一化的X樟插,Y坐標(biāo))以及場景的運動強度韵洋。-
lowPassFilterStrength
:這控制了幕后使用的低通濾波器的強度,以建立輸入幀與之進行比較的基線黄锤。范圍從0.0到1.0搪缨,默認值為0.5。
-
-
GPUImageHoughTransformLineDetector
:使用霍夫變換檢測圖像中的行到并行坐標(biāo)空間鸵熟。-
edgeThreshold
:檢測到一個點屬于用于確定行的邊的閾值副编。默認值為0.9。 -
lineDetectionThreshold
:檢測到局部最大值屬于并行坐標(biāo)空間中的行的閾值流强。默認值為0.20痹届。 -
linesDetectedBlock
:在塊的檢測上調(diào)用該塊,通常在每個處理幀上打月。包含標(biāo)準(zhǔn)化斜率和m队腐,b對(y = mx + b)中的截距的AC陣列連同檢測到的行數(shù)和視頻幀的當(dāng)前時間戳的計數(shù)一起傳入。
-
-
GPUImageLineGenerator
:一個幫助類奏篙,可生成可疊加場景的行柴淘。這些行的顏色可以使用-setLineColorRed進行調(diào)整:green:blue:-
lineWidth
:行的寬度,以像素為單位秘通,默認值為1.0为严。
-
-
GPUImageMotionBlurFilter
:向圖像應(yīng)用定向運動模糊-
blurSize
:模糊大小的乘數(shù),范圍從0.0開始充易,默認值為1.0 -
blurAngle
:模糊的角度方向梗脾,以度為單位荸型。默認為0度盹靴。
-
-
GPUImageZoomBlurFilter
:對圖像應(yīng)用定向運動模糊-
blurSize
:模糊大小的乘數(shù),范圍從0.0開始瑞妇,默認值為1.0 -
blurCenter
:模糊的歸一化中心稿静。(0.5,0.5)
-
后記
未完,待續(xù)~~~