【PFBarrel for Nuke】 PFTrack2012 for Nuke镜头畸变解决方案

26 一月, 2014
428
2

pftrack_2012

前言:记得还在火星学习pftrack5.0的时候我就在思考镜头畸变大的镜头跟踪是在pftrack中去畸变了还是在Nuke中,曾尝试利用棋盘格作为中转数据在pftrack5.0中去玩畸变匹配给标准棋盘格输出到Nuke使用LensDistortion节点来读取还原镜头畸变,经测试由于两个软件对镜头畸变的出来方式不一样会有一定偏差。所以在pftrack2012之前标准流程都是在Nuke中去完畸变再输出跟踪。如今有了官方PFBarrel代替了我那个想法中的LensDistortion节点达到了Nuke使用pftrack2012畸变数据。

1、 PFBarrel for Nuke安装
复制PFBarrel.dll(这里讨论win平台)到Nuke插件目录根目录。例如我的nuke插件目录(C:\Program Files\Nuke6.3v4\plugins)。
注:linux 平台和OSX平台分别把PFBarrel.so和PFBarrel.dylib文件复制到相应位置。
2、 使用流程

img0
打开 PFTrack或者PFMatchit软件,这里使用素材分辨率为1024×778。
img1
在pftrack2012中添加”Undistort”节点,去除畸变后素材有效分辨935×739,同时也是CG渲染对应的分辨率。继续在pftrack2012中添加”Export” 节点输出畸变信息供PFBarrel在Nuke中读取。
img2
打开Nuke,新建棋盘格设置其分辨率为935×739。
img3
在Nuke中使用”PFBarrel”节点读取pftrack2012导出的畸变数据。
img4
该PFBarrel节点的输出分辨率为1024×778,即原素材一样,畸变序列它将要用于合成。但是请注意,边界框比这个更大的(如图中虚线框),因为矩形失真的CG平面当去畸变后包含的像素将位于原来的画面分辨率之外。这些像素,对应于在第二屏幕截图中的黑色角部区域,最终合成时将会不见,但在Nuke中可以通过选择“Show overscan”选项查看。
img5
需要注意的是“Show overscan”选项只显示不超过围绕图像每个边缘100像素,因此可能不会显示所有丢失像素的极端畸变。
该PFBarrel插件基本上只有2作用 :
①从PFTrack/ PFMatchit导出.pfb的镜头畸变的数据文件;
②如何在节点处理像素采样过滤选项。指定文件名时.pfb文件的内容被读一次。如果该文件的内容随后更改按“re-read file”按钮来重新解析该文件。
下面的屏幕截图显示了PFBarrel输出和原始素材的半透明叠加:
img6