我大约有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')'