![如何在 ffmpeg 中比较两个视频颜色的差异?](https://linux22.com/image/1434530/%E5%A6%82%E4%BD%95%E5%9C%A8%20ffmpeg%20%E4%B8%AD%E6%AF%94%E8%BE%83%E4%B8%A4%E4%B8%AA%E8%A7%86%E9%A2%91%E9%A2%9C%E8%89%B2%E7%9A%84%E5%B7%AE%E5%BC%82%EF%BC%9F.png)
我读过了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"