Добавить пользовательские метаданные непосредственно в файл exr

У меня есть рабочие коды Python ниже, которые могут добавить метаданные 'Artist' во всем файле exr внутри d:\temp. Он работает, записывая во временный exr-файл, удаляя оригинал и переименовывая темп обратно в оригинал для каждого файла.

Основная проблема - скорость (особенно по сети). Как я могу напрямую добавить метаданные в файл exr? Это должно быть в http://excamera.com/articles/26/doc/index.html но я не могу найти его:(

import os
import OpenEXR

path = r'd:\temp'
names = [each for each in os.listdir(path)]

for n in sorted(names):
    fileFullPath = os.path.join(path, n)

    if OpenEXR.isOpenExrFile(fileFullPath):

        DIR = os.path.dirname(fileFullPath)
        fileFullPathTemp = DIR + '/tmp.exr'

        tgtFile = OpenEXR.InputFile(fileFullPath)
        h = tgtFile.header()
        channels = h['channels'].keys()
        h['artist'] = 'Peter'

        outFile = OpenEXR.OutputFile(fileFullPathTemp, h)
        outFile.writePixels(dict(zip(channels, tgtFile.channels(channels))))
        outFile.close()
        tgtFile.close()

        try:
            os.remove (fileFullPath)
            os.rename (fileFullPathTemp, fileFullPath)
        except WindowsError:
            print 'Deleting and renaming file failed'

        print n

0 ответов

Другие вопросы по тегам