Вы можете сделать это так:
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. Читайте об OpenEXR здесь .
Z
канал (a.k.a. zDepth
) не подходит для компоновки, так как он приносит краевые артефакты. Вместо этого используйте Deep
render pass (вы можете сохранить Deep pass в OpenEXR 2.0
). Читайте об артефактах Z pass здесь .
Также в EXR
файлах вы можете хранить различные AOV: нормали, положения точек, ультрафиолетовые лучи, окклюзию окружающего воздуха, тени, диспаратность, векторы движения и т. Д.