如何设置ffmpeg中任意像素的值?

时间:2017-05-14 09:34:33

标签: ffmpeg video-processing

我想修改ffmpeg中每个像素的rgb值。

我需要实现以下功能:

A[x + expr_1][y] = expr_2

其中x和y是当前采样的像素,A是输入帧,其像素需要修改,expr_1,expr_2是两个独立的表达式。

我尝试使用geq过滤器,但似乎无法设置除当前采样之外的像素值。对于istance,函数p(x,y)仅返回指定位置处的像素值,但不允许为该像素设置值。换句话说,ffmpeg似乎只允许这样的东西:

A[x][y] = expr

有没有办法告诉ffmpeg设置特定像素的值?

感谢您的时间。

1 个答案:

答案 0 :(得分:1)

有没有办法告诉ffmpeg设置特定像素的值?

ffmpeg -i in.mp4 -vf geq=r='if(eq(X,45)*eq(Y,651),NEWVAL,p(X,Y))' out.mp4

这会将(45,651)的R通道值设置为NEWVAL并传递所有其他像素。

要检查是否可以使用更通用的表达式,您应该使用实际的expr1expr2来说明您的要求。