我有一些TIFF文件是Maya渲染器的输出,我需要将它们与一些真实的镜头合成。 TIFF文件有5个频道,rgba
+ depth
频道用于合成。但是,我尝试过的所有TIFF加载库似乎都丢弃了第5层。
有没有办法用图像的其余部分加载它?
答案 0 :(得分:1)
你可以这样做:
import cv2
image = cv2.imread('yourImage.tiff', cv2.IMREAD_UNCHANGED)
print image.shape
channels = cv2.split(image)
channels[0] # R channel
channels[1] # G channel
channels[2] # B channel
channels[3] # A channel
channels[4] # Z channel
但是对于合成,您应该使用具有不同压缩算法的16位或32位OpenEXR
文件格式,而不是TIFF
。 EXR v1
和EXR v2
支持最多1023个渲染频道,而The Foundry NUKE可以阅读这些频道。 Read about OpenEXR here。
Z
频道(a.k.a。zDepth
)不适合合成,因为它带来了边缘人工制品。请改为使用Deep
渲染通道(您可以在OpenEXR 2.0
中存储深度传递)。 Read about Z pass artefacts here。
同样在EXR
文件中,您可以存储各种AOV:法线,点位置,UV,环境遮挡,阴影,视差,运动矢量等...... Read about Deep compositing here。