Как конвертировать .pgm файлы в другой формат - PullRequest
0 голосов
/ 26 сентября 2019

У меня есть около 3000 файлов .pgm, и я хотел бы преобразовать их во что-то более полезное для просмотра видео, например .avi или .mp4.Я знаю о pil, и мой советник предоставил приведенный ниже код, но я не уверен, что он делает или почему он возвращает синтаксические ошибки.Я работаю в блокноте jupyter в той же директории, что и мои файлы .pgm, но проблема, похоже, в glob2.glob (синтаксическая ошибка).Любые идеи о том, как заставить этот код работать?

Я попытался добавить дополнительные скобки, предложенные из другого потока.Это не похоже на работу

import numpy as np
import glob2
from PIL import Image

def pgm_to_image ((glob2.glob("temp-09162019162411-0.pgm")):
with open((glob2.glob("temp-09162019162411-0.pgm")), 'rb') as f:
    mn = f.read(2)
    f.read(1)

    if mn == b'P2':
        dat = np.fromstring(f.read(), dtype='u2', sep=' ')
        width, height, maxval = dat[:3]
        dat = dat[3:].reshape(height, width)
        if maxval <= 255: dat = dat.astype('u1')

    else:
        raise ValueError('File format not supported.')

return Image.fromarray(dat)

if __name__ == "__main__":
img = pgm_to_image('temp-09162019162414-7.pgm')
# print(dat.shape, dat.dtype)
# print(dat[:20])
img.save('test.png')'
...