比较函数
https://ffmpeg.org/ffmpeg-utils.html
1、gt(x, y)
Return 1 if x is greater than y, 0 otherwise.
如果x比y大则返回1,否则返回0 ;
2、gte(x, y)
Return 1 if x is greater than or equal to y, 0 otherwise.
如果x大于等于y则返回1,否则返回0 ;
3、hypot(x, y)
计算点
(
x
,
y
)
(x, y)
(x,y)到原点的距离;
4、if(x, y)
计算x,如果x为非0值则返回y,否则返回0
5、if(x, y, z)
计算x,如果x为非0值则返回y,否则返回z
6、lt(x, y)
如果x小于y,则返回1,否则返回0;
7、lte(x, y)
如果x小于等于y,则返回1,否则返回0;
8、abs(x)
计算绝对值;
geq
http://underpop.online.fr/f/ffmpeg/help/geq.htm.gz
将通用方程应用于每个像素
过滤器接受以下选项:
1、‘lum_expr, lum’
设置亮度表达式
在YUV中,“Y”代表明亮度(Luminance或Luma),也就是灰阶值; 而“U”和“V”表示的则是色度(Chrominance或Chroma),作用是描述图像色彩及饱和度,用于指定像素的颜色。
2、‘cb_expr, cb’
设置色度蓝色表达式
3、‘cr_expr, cr’
设置色度红色表达式
4、‘alpha_expr, a’
设置 alpha表达式,透明度
5、‘red_expr, r’
设置红色表达式
6、‘green_expr, g’
设置绿色表达式
7、‘blue_expr, b’
设置蓝色表达式
根据指定的选项选择色彩空间。如果指定了 ‘lum_expr’、‘cb_expr’ 或 ‘cr_expr’ 选项之一,过滤器将自动选择 YCbCr 色彩空间。
如果指定了 ‘red_expr’、‘green_expr’ 或 ‘blue_expr’ 选项之一,它将选择 RGB 色彩空间。
如果色度表达式中的一个未定义,则返回到另一个。如果未指定 alpha 表达式,它将计算为不透明值。如果没有指定色度表达式,它们将计算为亮度表达式。
表达式可以使用以下变量和函数
1、‘N’
过滤帧的序号,从 0 开始
2、‘X’,‘Y’
当前样本的坐标
3、‘W’,‘H’
图像的宽度和高度
4、‘SW’,‘SH’
宽度和高度比例取决于当前过滤的平面。它是对应的亮度平面像素数与当前平面像素数的比值。例如。对于 YUV4:2:0,亮度平面的值为 1,1,色度平面的值为 0.5,0.5
5、‘T’
当前帧的时间,以秒表示.
6、‘p(x, y)’
返回当前平面位置 (x,y) 处的像素值
7、‘lum(x, y)’
返回亮度平面位置 (x,y) 处的像素值
8、‘cb(x, y)’
返回蓝色差异色度平面位置 (x,y) 处的像素值。如果没有这样的平面,则返回 0
9、‘cr(x, y)’
返回红色差异色度平面位置 (x,y) 处的像素值。如果没有这样的平面,则返回 0
10、‘r(x, y)’,‘g(x, y)’,‘b(x, y)’
返回红/绿/蓝分量位置 (x,y) 处的像素值。如果没有这样的组件,则返回 0
11、‘alpha(x, y)’
返回 alpha 平面位置 (x,y) 处的像素值。如果没有这样的平面,则返回 0。
对于函数,如果 x 和 y 在区域之外,则该值将自动裁剪到较近的边缘。