您可以使用此节点分析和跟踪输入图像序列的下列方面:
- 图像序列中黑色区域的大小和位置
- 图像序列中像素的平均值
- 图像序列中的曝光变化
- 图像序列中最亮和最暗的像素。
此节点会基于分析创建动画曲线。然后,您可以使用此曲线数据驱动其他地方的效果。例如,您可以添加匹配闪烁到CG渲染。
输入和控制
连接类型 | 连接名称 | 功能 |
输入 | 未命名 | 要分析的图像序列。 |
控制(UI) | 旋钮(脚本) | 默认值 | 功能 |
CurveTool 选项卡 | |||
曲线类型 | operation | Avg Intensities (平均强度) | 设置流入节点树的曲线类型: • Auto Crop- 寻找帧序列边缘周围的黑色区域(或任何你拾取的颜色),并跟踪他们的大小和位置随着时间的推移。当你运行一个 Crop 节点这非常有用:它可以移除不需要的外部像素,加快计算速度。 • Avg Intensities – 获取帧序列的平均像素值,然后匹配到别的图像上。它选择帧范围内的第一个值和下一个值,然后将两个值相加再除2,返回两者的平均值。例如,你可能想用它将背景的火焰闪烁匹配到前景的烟雾中。 • Exposure Difference< – 分析帧序列的曝光变化。它选择帧范围内的第一个值和下一个值,返回两者的差值。你可以用得到的结果匹配其他曝光相同的图像。 • Max Luma Pixel – 跟踪帧序列中最亮和最暗的点。这在以下情况可能有用:假设你有一段夜间拍摄的图像序列,一个人举着手电筒在漆黑的屋子里走动,你想在移动的手电筒上添加镜头光晕。知道最亮的像素随着时间的变化在哪里,这允许你匹配运动的镜头光晕并切不需要手动k帧就能正确定位它。 |
Go! | go | N/A | 单击开始分析所选的曲线类型。 |
AutoCrop (自动裁剪) | |||
color | color | 0 | 设置分析期间检测到的颜色。 |
Intensity Range | ccrange | 0 | Sets how far the color can deviate from the selected color and still be cropped. |
Intensity (浓度) | |||
# frames for base average | avgframes | 2 | 设置分析的每一帧的对比帧范围。例如,值为1则与其下一帧对比,值为5则与接下来的5帧(即紧接着的1-5帧)对比。
|
All(全部) | |||
channels | channels | rgba | 选中的分析只应用到这些通道。 如果您将此项设置为 none 以外的选项,您可以使用右边的复选框选择单独的通道。 |
ROI xyrt (xywh) | ROI | 取决于输入端的格式 | 定义要分析的区域。默认情况下,ROI 设置为整个输入图像,不过您可以拖拽视窗中的 ROI 标记,或手动调节 xyrt 的值。 |
AutoCropData 选项卡 | |||
autocropdata xyrt (xywh) | autocropdata | 取决于输入端的格式 | 当曲线类型设置为 AutoCrop 时显示分析结果。要查看动画曲线,请邮件参数框并选择 Curve editor(曲线编辑器)。 |
IntensityData 选项卡 | |||
intensitydata | intensitydata | 0 | 当曲线类型设置为 Avg Intensities 时显示分析结果。要查看动画曲线,请邮件参数框并选择 Curve editor(曲线编辑器)。 |
MaxLumaData 选项卡 | |||
Maximum Luminence Pixel xy | maxlumapixdata | 0, 0 | 显示当前帧亮度值最高的像素的坐标。 |
Maximum Luminence Pixel Value | maxlumapixvalue | 0 | 显示当前帧最高的亮度值。 |
Minimum Luminence Pixel xy | minlumapixdata | 0, 0 | 显示当前帧亮度值最低的像素的坐标。 |
Minimum Luminence Pixel Value | minlumapixvalue | 0 | 显示当前帧最低的亮度值。 |
Python 选项卡(这些控制是用于 Python 回调的,可以用来自动调用 Python 函数。) | |||
before render | beforeRender | 无 | 这些函数在启动 execute() 中的渲染前运行,如果弹出异常,渲染会中断。 |
before each frame | beforeFrameRender | 无 | 这些函数在开始渲染每个单帧前运行,如果弹出异常,渲染会中断。 |
after each frame | afterFrameRender | 无 | 这些函数在每一帧渲染完成后运行,如果渲染中断,它们将不会调用。如果弹出异常,渲染会中断。 |
after render | afterRender | 无 | 这些函数在所有帧都渲染完后运行,如果弹错,渲染会中断。 |
render progress | renderProgress | 无 | 这些函数在渲染过程中运行,以决定继续或失败。 |
分析和匹配片段
你可以使用 CurveTool 节点分析帧序列的一下四个方面,基于你在节点控制面板上选择的曲线类型:
- AutoCrop 寻找帧序列边缘周围的黑色区域(或任何你拾取的颜色),并跟踪他们的大小和位置随着时间的推移。当你运行一个 Crop 节点这非常有用:它可以移除不需要的外部像素,加快计算速度。更多信息,参阅 Cropping Black Edges。
- Avg Intensities 用于获取帧序列的平均像素值,然后匹配到别的图像上。它选择帧范围内的第一个值和下一个值,然后将两个值相加再除2,返回两者的平均值。例如,你可能想用它将背景的火焰闪烁匹配到前景的烟雾中。参阅 Analyzing the Intensity of a Frame Sequence 和 Removing Flicker。
- Exposure Difference 分析帧序列的曝光变化。它选择帧范围内的第一个值和下一个值,返回两者的差值。你可以用得到的结果匹配其他曝光相同的图像。参阅 Analyzing Exposure Differences。
- Max Luma Pixel 跟踪帧序列中最亮和最暗的点。这在以下情况可能有用:假设你有一段夜间拍摄的图像序列,一个人举着手电筒在漆黑的屋子里走动,你想在移动的手电筒上添加镜头光晕。知道最亮的像素随着时间的变化在哪里,这允许你匹配运动的镜头光晕并切不需要手动k帧就能正确定位它。更多信息,参阅 Tracking the Brightest and Drakest Pixels。
CurveTool 节点属性面板
小提示:如果你熟悉 Shake,你可能用过 PixelAnalyzer 节点。CurveTool 节点相当于 Nuke 的 PixelAnalyzer。