ffmpeg chromakey 过滤器:混合参数不是它应该的

ffmpeg chromakey filter: blend parameter does not what it should

我想去除绿屏背景,但对我的成就并不完全满意,因为我仍然有绿色边框(特别是在半透明区域,如头发,当我移动我的头时)。

色键过滤器混合参数的文档说

blend

Blend percentage.

0.0 makes pixels either fully transparent, or not transparent at all.

Higher values result in semi-transparent pixels, with a higher transparency the more similar the pixels color is to the key color.

所以我想,在使用如下命令删除背景时,我可以使用它来最大程度地减少绿屏渗色(这是术语吗?):

ffmpeg -i DSCN0015.MOV -vf "[in] hqdn3d=4:4:8:8 [dn]; [dn] scale=iw*3:-1 [sc]; [sc] chromakey=0x005d0b:0.125:0.0 [out]" -r 24 -an -c:v ffvhuff 4.mov

但是当我使用 0.0 之外的任何其他值进行混合时,它似乎确定了某种最小透明度并且整个帧都受到影响。

这里有一些可视化的图片:第一张是来自相机的原始 material。第二个显示我用 blend=0.0 得到的结果,最后一个显示问题:blend=0.5,但整个框架几乎完全透明。

[

[

[

解决方案最终是按照 Mulvya 的指示降低相似度值,并在混合参数中使用非常低的值。两者的 0.06 都适用于我剪辑中的照明情况。