Build Lens 节点可用于从一个校准网格的多个图像中构建镜头模型,例如在不同摄像机焦距下拍摄的棋盘格图案。此节点可以有多个输入,每个输入对应一个网格镜头。但是此节点不提供任何输出,只用于生成 XML 预设文件,描述畸变参数如何根据摄像机焦距变化。
注意,正确设置摄像机底片尺寸非常重要,如果输入的焦距测量单位不是像素而是别的单位。
如果一个等效35mm焦距的EXIF头信息可用于剪辑,镜头焦距会自动设置。
下面的截图显示了采用不同焦距拍摄的同一个校准网格的三个图像连接到 Build Lens节点,以测量每个焦距的镜头畸变。
用法
用不同的焦距拍摄多个网格镜头。当拍摄网格时,摄像机应该放置在不垂直于网格图案的角度上,使捕捉的图像包含两个明确的消失点。如果消失点不可见,焦距将无法自动估计,必须在镜头模型解算前手动输入。
坏的网格镜头:
好的网格镜头:
将多个单帧网格镜头连接到此节点,然后用左键点击拖拽初始网格单元格的4个角,定位到一个棋盘格上。按住 Command 键将吸附顶点到网格图像中最近的角上。网格顶点也可以手动调整以修复不正确的位置。其他的行和列可以从网格上添加或删除,直到几乎整个图像被覆盖。如果网格被准确地定位在尽可能多的图像空间,将得到更好的镜头畸变和焦距估算。
按住 Shift 键同时移动鼠标光标将显示缩放缩放窗口以帮助定位网格顶点。
设置摄像机底片和宽高比。指定要估算的镜头模型参数,点击 Solve 按钮。命名预设并点击 Store 按钮以保存 XML 文件到磁盘上。镜头模型参数可在曲线编辑器中使用。
示例,定位4个角(显示为浅蓝色)以匹配棋盘格的网格:
以下是同一个网格,添加网格列以更好的填充图像。
控制
镜头模型
Low order distortion:当前摄像机焦距的低阶畸变系数。右侧的勾选框表示此参数是否被解算。正系数对应桶形畸变,负系数用于枕形畸变。
High order distortion:当前摄像机焦距的高阶畸变系数。右侧的勾选框表示此参数是否被解算。
Lens centre:当前摄像机焦距的镜头畸变的中心(以像素为单位)。右侧的勾选框表示此参数是否被解算。
Anamorphic squeeze:变形挤压值。右侧的勾选框表示此参数是否被解算。默认情况下,挤压变形值与像素宽高比相同。
Show Test Overlay:当启用时,将显示网格叠加,通过观察估算摄像机镜头的线性网格的结果,来测试镜头畸变系数的准确性。通过单击和拖拽鼠标左键,该网格控件的操作手柄可以被平移、旋转和缩放,以测试网格中的直线与棋盘格图案的边缘匹配的有多好。
Solve:点击此按钮将解算每一个输入焦距的镜头畸变因数。
Grid
Show Grid:单击此按钮将显示或隐藏主窗口中的网格覆盖。
Size:编辑这些参数将指定在单击“Reset Grid”按钮时生成的网格的宽度和高度。
Reset Grid:将网格重置为默认位置,并将其大小更改为当前网格宽度和高度值。
Add:当启用时,点击 L、R、B 或 T 按钮中的一个,将添加行或列到网格上。
Remove:当启用时,点击 L、R、B 或 T 按钮中的一个,将移除网格上的行或列。
L, R, B, T:单击这些按钮中的一个将添加或删除网格的左右列或上下行。
Camera
Current input:选择当前显示的网格镜头。必须为每个摄像机输入定位网格。
Focal length:显示当前摄像机焦距。当焦距没有自动估计时,这个值可以被编辑。
Variable focal:勾选时,表示网格镜头已经采用不同的焦距值。
Field of view:显示当前摄像机视野(水平和垂直)。当焦距没有自动估计时,这个值可以被编辑。
Film back:显示当前底片的宽度和高度。
Pixel aspect:显示当前摄像机像素宽高比。
Automatically estimate focal length:自动估算焦距。勾选时,摄像机焦距将从网格镜头中自动估算。注意,如果网格镜头不包含两个良好的消失点,由此产生的焦距值可能不准确。
Storage
Preset name:指定镜头畸变预设名称。点击右边的按钮将允许浏览现有的预设。
Store:将一个命名的 XML的镜头畸变预设写入磁盘。
默认键盘快捷键
Show Test Overlay:Shift+O
Solve:Shift+S
Show Grid:Shift+G
Reset Grid:Shift+R
Add:Command+A
Remove:Command+R
Left:Shift+Left
Right:Shift+Right
Bottom:Shift+Down
Top:Shift+Up
Next Clip:C