产生运动向量

SmartVector节点生成运动矢量,以在VectorDistort节点中使用。您可以将SmartVector节点直接连接到VectorDistort或VectorCornerPin节点,或将运动矢量写入到.exr格式,然后用于驱动扭曲节点以减少以后的开销。

生成运动矢量:

1.   读取您的源序列,然后将SmartVector节点连接到“读取”节点。
2.   双击SmartVector节点以打开其Properties面板(如果尚未打开)。
3.   设置Vector Detail控制到所需的详细信息级别。的默认值0.3对于低细节和低移动的序列已经足够了,但是在某些情况下,您可能需要增加细节以改善矢量质量。

例如,如果您正在处理的区域相对较小,则默认值为0.3可能无法正确捕捉运动。尝试将控制权增加到1.0捕获更多细节。

注意:  高细节矢量需要更长的渲染时间,但可以改善从VectorDistort节点获得的结果。

4.   设置Strength控制以强制帧之间的像素匹配。较高的值可让您将一个图像中的相似像素准确地匹配到另一图像,即使结果运动场参差不齐,也可以专注于细节匹配。较低的值可能会错过局部细节,但不太可能为您提供奇数次的杂散矢量,从而产生更平滑的结果。

注意:  默认值适用于大多数序列。

5.   如果前景中有很多移动,则可能需要添加遮罩。看到遮蔽前景和背景区域了解更多信息。

小费:  您可以检查将Viewer连接到SmartVector节点并切换channels在查看器上方进行控制smartvector_<value>

6.   如果要将向量写入磁盘,请单击Export Write自动将“写入”节点添加到脚本中。写入节点的控件设置为channels > all.exr自动输出。

您只能将运动矢量写入.exr格式。不要忘记以哈希或printf表示法的形式添加框架填充,具体取决于您的Preferences > Behaviors > File Handling设置。

7.   进入一个file写入节点控件中的路径,然后单击Render

注意:  SmartVector当前不输出motionforwardbackward渠道默认情况下。如果您需要这些通道,请在SmartVector节点之后添加VectorToMotion节点。VectorToMotion将向量转换为可与VectorBlur一起使用以创建运动模糊的运动,而无需使用VectorGenerator。

8.   启用Advanced >Flicker Compensation减少亮度和整体闪烁的变化,例如从有光泽的表面反射的光,这可能会导致矢量输出出现问题。
9.   Tolerances在里面Advanced部分可让您在计算图像亮度时调整每个颜色通道的权重。

这些参数很少需要调整,但是您可能希望增加特定颜色的权重,以使算法能够专注于正确校正某个对象的运动,而以镜头中其余项目的代价为代价。

10.   继续将绘画添加到源要么向源添加图像

遮蔽前景和背景区域

如果您的序列是由在背景上移动的前景对象组成的,则运动估计可能会在两者之间的边缘混淆。为了减少伪影,您可以在Matte输入。

要将遮罩应用于序列:

1.   在源的下游添加一个Roto节点。
2.   在要标记为前景或背景的区域周围绘制遮罩。

3.   设置Matte ChannelMatte AlphaOutput控制到Foreground要么Background

前景矢量图

背景向量

4.   如果您正在与Background向量,您可以启用Inpaint Matte Region使用最近的可用背景矢量自动填充丢失的前景矢量。的Matte Dilation滑块控制在应用修复之前应用到遮罩的膨胀量。

背景向量

彩绘前景

您可以使用修复来有效地忽略前景,从而允许您在遮罩区域中使用背景矢量。

5.   如中所述生成运动矢量产生运动向量