__email__ = '*****@*****.**' __date__ = '2020-05-20 09:30:16' """ """ import sys import array import OpenEXR import Imath # Open the input file file = OpenEXR.InputFile(br"C:\Users\timmyliang\Desktop\FX\new\Male_rig_1__0002_head_ctrl_follow_plane.exr") print(file.header()) file = OpenEXR.InputFile(br"C:\Users\timmyliang\Desktop\FX\red_eye001_UV1(1).EXR") print(file.header()) # # Compute the size # dw = file.header()['dataWindow'] # sz = (dw.max.x - dw.min.x + 1, dw.max.y - dw.min.y + 1) # # Read the three color channels as 32-bit floats # FLOAT = Imath.PixelType(Imath.PixelType.FLOAT) # (R,G,B) = [array.array('f', file.channel(Chan, FLOAT)).tolist() for Chan in ("R", "G", "B") ]
fbegin = ishape * stepsize * stride fend = min(ishape * stepsize * stride + stepsize * clipsize, len(data['poses'])) # LOOP OVER FRAMES for seq_frame, (pose, trans) in enumerate( zip(data['poses'][fbegin:fend:stepsize], data['trans'][fbegin:fend:stepsize])): iframe = seq_frame log_message("Processing frame %d" % iframe) for k, folder in res_paths.items(): if not k == 'vblur' and not k == 'fg': path = join(folder, 'Image%04d.exr' % get_real_frame(seq_frame)) exr_file = OpenEXR.InputFile(path) if k == 'normal': mat = np.transpose(np.reshape([array.array('f', exr_file.channel(Chan, FLOAT)).tolist() for Chan in \ ("R", "G", "B")], (3, resx, resy)), (1, 2, 0)) # +1 for the 1-indexing dict_normal['normal_%d' % (iframe + 1)] = \ mat.astype(np.float32, copy=False) elif k == 'gtflow': mat = np.transpose(np.reshape([array.array('f', exr_file.channel(Chan, FLOAT)).tolist() for Chan in \ ("R", "G")], (2, resx, resy)), (1, 2, 0)) dict_gtflow['gtflow_%d' % (iframe + 1)] = \ mat.astype(np.float32, copy=False)
def load_exr(filename): loaded_exr = OpenEXR.InputFile(filename) print(loaded_exr)