如何在 ffmpeg 中比较两个视频颜色的差异?

如何在 ffmpeg 中比较两个视频颜色的差异?

我读过了https://stackoverflow.com/questions/25774996/,但“blend=all_mode=difference”是绿色的。如何使用混合滤镜获得更多色彩的差异?

示例命令为

ffplay -f lavfi "movie=left.mp4,split[a1][a2]; movie=right.mp4,split[b1][b2]; [a1][b1]blend=all_mode=difference[blend];[a2]pad=2*iw:2*ih[left];[left][b2]overlay=w[tmp];[tmp][blend]overlay=0:h"

在此处输入图片描述

使用“hue=s=0”,颜色变为单色。

ffplay -f lavfi "movie=left.mp4,split[a1][a2]; movie=right.mp4,split[b1][b2]; [a1][b1]blend=all_mode=difference,hue=s=0[blend];[a2]pad=2*iw:2*ih[left];[left][b2]overlay=w[tmp];[tmp][blend]overlay=0:h"

在此处输入图片描述

我的目标就是这个视频。如果你有一个 niconico 账户。 http://www.nicovideo.jp/watch/sm24864058

如果你没有 niconico 账户,嵌入页面是 http://www.nicozon.net/watch/sm24864058

答案1

当使用“c0_mode”而不是“all_mode”时就可以了。

ffplay -f lavfi "movie=left.mp4,setpts=PTS-STARTPTS,split[a1][a2];
                movie=right.mp4,setpts=PTS-STARTPTS,split[b1][b2];
                [a1][b1]blend=c0_mode=difference,pad=2*iw:ih:0:0[down];
                [a2][b2]hstack[up];[up][down]vstack"

在此处输入图片描述

比较两个视频的另一种方法。

ffplay -f lavfi "movie=left.mp4,setpts=PTS-STARTPTS,split=3[a0][a1][a2];
                movie=right.mp4,setpts=PTS-STARTPTS,split[b0][b1];
                [a0][b0]blend=c0_mode=difference[y];
                [a1]lutyuv=y=val:u=128:v=128[uv];
                [y][uv]mergeplanes=0x001112:yuv420p,pad=2*iw:ih:0:0[down];
                [a2][b1]hstack[up];[up][down]vstack"

相关内容