GPUImage2(四)滤镜大全:图像处理

本文所有示例代码或Demo可以在此获取:https://github.com/WillieWangWei/SampleCode_GPUImage2_FilterList.git
如果本文对你有所帮助,请给个Star👍
相关文章
GPUImage2(一)集成与使用
GPUImage2(二)滤镜大全:图像生成
GPUImage2(三)滤镜大全:色彩调校
GPUImage2(五)滤镜大全:混合模式
GPUImage2(六)滤镜大全:视觉特效
概述
本篇枚举GPUImage2
内置滤镜中的所有的图像处理类别,并对其效果及参数进行简要说明,供选择参考。
图像处理
共35类
- TransformOperation
- Crop
- LanczosResampling
- Sharpen
- Histogram
- HistogramDisplay
- MotionBlur
- ZoomBlur
- GaussianBlur
- BoxBlur
- SingleComponentGaussianBlur
- BilateralBlur
- Dilation
- Erosion
- MedianFilter
- Convolution3x3
- SobelEdgeDetection
- PrewittEdgeDetection
- ThresholdSobelEdgeDetection
- LocalBinaryPattern
- ColorLocalBinaryPattern
- UnsharpMask
- iOSBlur
- TiltShift
- HistogramEqualization
- CannyEdgeDetection
- HarrisCornerDetector
- NobleCornerDetector
- ShiTomasiFeatureDetector
- OpeningFilter
- ClosingFilter
- LowPassFilter
- HighPassFilter
- MotionDetector
- ColourFASTFeatureDetection
TransformOperation
对图像进行2-D或3-D变换。
transform:Matrix4x4
指定的Matrix4x4
值,它可以从CATransform3D
或CGAffineTransform
转换得到,或者通过其他方式生成。

Crop
裁剪图像的特定位置。
cropSizeInPixels: Size?
裁剪的尺寸。
locationOfCropInPixels: Position?
裁剪区域左上角的位置。

LanczosResampling
使用Lanczos重采样对图像进行上采样或下采样,产生比标准线性或三线性更好的质量。可以设置overriddenOutputSize
将图像重新采样为新的大小。

Sharpen
锐化图像。
sharpness:Float
锐度,取值[-4.0, 4.0],默认0.0。

UnsharpMask
反锐化。
blurRadiusInPixels:Float
底层高斯模糊的模糊半径,默认4.0。
intensity:Float
锐化强度,取值[0.0, ∞),默认1.0。

GaussianBlur
一种硬件优化,可变半径高斯模糊。
blurRadiusInPixels:Float
模糊的半径(以像素为单位),默认2.0。

BoxBlur
一种硬件优化,可变半径高斯模糊。
blurRadiusInPixels:Float
模糊的半径(以像素为单位),默认2.0。

SingleComponentGaussianBlur
单一分量修改的GaussianBlur
。
blurRadiusInPixels:Float
模糊的半径(以像素为单位),默认2.0。

iOSBlur
仿iOS 7在控制中心等地方使用的背景模糊。
blurRadiusInPixels:Float
模糊的半径(以像素为单位),默认48.0。
saturation:Float
饱和度,取值[0.0, 2.0],默认0.8。
rangeReductionFactor
降低图像亮度的范围,默认0.6。

Median
在3x3区域取三个颜色分量的中值。

BilateralBlur
双边模糊,它模糊相似的颜色值,同时保留锐利的边缘。
distanceNormalizationFactor:Float
中心颜色和样本颜色之间的距离,默认8.0。

TiltShift
一种模拟倾斜移位的透镜效果
blurRadiusInPixels:Float
底层模糊的半径,以像素为单位。默认7.0。
topFocusLevel:Float
图像中对焦区域顶部的位置,此值应低于bottomFocusLevel
,默0.4。
bottomFocusLevel:Float
图像中对焦区域底部的位置,此值应高于topFocusLevel
,默0.6。
focusFallOffRate:Float
图像变得离开对焦区域的速率,默认0.2。

Convolution3x3
对图像使用3x3卷积内核。
convolutionKernel:Matrix3x3
应用于像素及其8个周围像素的值的3×3矩阵。矩阵以行为主的顺序指定,左上角的像素为m11,右下角的m33。如果矩阵中的值不等于1.0,则图像可以变亮或变暗。

SobelEdgeDetection
Sobel边缘检测,边缘以白色突出显示。
edgeStrength:Float
调整滤镜的动态范围。值越高,边缘越强,但可以使强度色空间饱和。默认1.0。

PrewittEdgeDetection
Prewitt边缘检测,边缘以白色突出显示。
edgeStrength:Float
调整滤镜的动态范围。值越高,边缘越强,但可以使强度色空间饱和。默认1.0。

ThresholdSobelEdgeDetection
使用阈值而不是渐进强度值进行Sobel边缘检测。
edgeStrength:Float
调整滤镜的动态范围。值越高,边缘越强,但可以使强度色空间饱和。默认1.0。
threshold:Float
高于此阈值的任何边将为黑色,低于为白色,取值[0.0, 1.0],默认0.8。

Histogram
它分析传入的图像,并创建表现每个颜色值出现的频率的直方图。其输出是3像素高,256像素宽的图像,其中心(垂直)像素包含出现各种颜色值的频率的像素。每个颜色值占据256个宽度位置中的一个,从左边的0到右边的255。该直方图可以针对各个颜色通道(.Red,.Green,.Blue),图像的亮度(.Luminance)或所有三个颜色通道(.RGB)生成。
downsamplingFactor:UInt
标记图像的哪个部分被采样。取值[1, 32],默认16。

HistogramDisplay
它生成Histogram
的图像,也可以用于显示其他类型的值。

HistogramEqualization
分析一个图像的直方图,并补偿出新图。

CannyEdgeDetection
使用完整的Canny过程来突出显示一个像素宽的边缘。
blurRadiusInPixels:Float
高斯模糊的基础模糊半径。默认2.0。
upperThreshold:Float
高于此阈值的任何边将显示在最终结果中,默认0.4。
lowerThreshold:Float
低于此阈值的任何边将从最终结果中删除,默认值为0.1。

HarrisCornerDetector
对输入图像运行哈里斯角点检测算法,并生成一个图像。
blurRadiusInPixels:Float
高斯模糊的基础模糊半径。默认2.0。
sensitivity:Float
调整生成的角点图的缩放系数,默认5.0。
threshold:Float
检测的阈值,默认0.2。
cornersDetectedCallback:(([Position]) -> ())?
检测回调,包含一个存储所有检测点位置的数组。

NobleCornerDetector
继承自HarrisCornerDetector
,在其基础上运行Noble变量。

ShiTomasiFeatureDetector
Shi-Tomasi特征检测器,继承自HarrisCornerDetector
。

Dilation
执行图像扩张操作,其中矩形邻域中的颜色通道的最大强度用于该像素的强度。
radius:UInt
采样的矩形区域的半径,取值[1, 4],默认1。

Erosion
执行图像侵蚀操作,其中矩形邻域中的颜色通道的最小强度用于该像素的强度。
radius:UInt
采样的矩形区域的半径,取值[1, 4],默认1。

OpeningFilter
对图像的颜色通道执行侵蚀。
radius:UInt
采样的矩形区域的半径,取值[1, 4],默认1。

ClosingFilter
对图像的颜色通道执行扩张。
radius:UInt
采样的矩形区域的半径,取值[1, 4],默认1。

LocalBinaryPattern
将8个周围像素的红色通道的强度与中心像素的红色通道的强度的比较,作为该像素强度的位串编码比较结果。最低有效位是右上角比较,逆时针转向以正确的比较结束作为最高有效位。

ColorLocalBinaryPattern
将8个周围像素的红色通道的强度与中心像素的红色通道的强度的比较,作为该像素强度的位串编码比较结果,其变为每个颜色通道的强度。最低有效位是右上角比较,逆时针转向以正确的比较结束作为最高有效位。

LowPassFilter
对输入视频帧应用低通滤镜。它可以用于去噪,添加运动模糊或用于创建高通滤镜。
strength:Float
前一个累加帧与当前帧的混合程度,取值[0.0, 1.0],默认0.5。

HighPassFilter
对输入视频帧应用高通滤镜,对于运动检测最有用。
strength:Float
从当前的累加帧中减去先前累加的帧被混合的程度。取值[0.0, 1.0],默认0.5。

MotionDetector
基于HighPassFilter
的运动检测。
lowPassStrength:Float
从当前的累加帧中减去先前累加的帧被混合的程度。取值[0.0, 1.0],默认0.5。
motionDetectedCallback:((Position, Float) -> ())?
运动检测回调。包含一个检测到运动的位置以及场景的运动强度。
MotionBlur
对图像使用定向运动模糊。
blurSize:Float
模糊的系数,取值[0.0, ∞),默认1.0。
blurAngle:Float
模糊的角度,以度为单位,默认0。

ZoomBlur
对图像使用定向运动模糊。
blurSize:Float
模糊的系数,取值[0.0, ∞),默认1.0。
blurCenter:Position
模糊的中心,默认(0.5, 0.5)。

ColourFASTFeatureDetection
提供图像的ColourFAST特征描述符。
blurRadiusInPixels:Float
模糊半径,默认3.0。

本文所有示例代码或Demo可以在此获取:https://github.com/WillieWangWei/SampleCode_GPUImage2_FilterList.git
如果本文对你有所帮助,请给个Star👍
相关文章
GPUImage2(一)集成与使用
GPUImage2(二)滤镜大全:图像生成
GPUImage2(三)滤镜大全:色彩调校
GPUImage2(五)滤镜大全:混合模式
GPUImage2(六)滤镜大全:视觉特效