如何将.pgm文件转换为另一种格式

时间:2019-09-25 21:43:56

标签: python glob pgm

我大约有3000个.pgm文件,并希望将它们转换为更有用的内容,以便以视频形式查看它们,例如.avi或.mp4。我知道pil,我的顾问提供了以下代码,但我不确定它在做什么或为什么返回语法错误。 我正在与.pgm文件位于同一目录中的jupyter笔记本中工作,但是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')'

0 个答案:

没有答案