я следующий вопрос: извлечь различные кадры в формате GIF в нескольких файлах PNG с:пикс [х, у] возвращает целое число вместо (R, G, B, A) Tupel
def extractFrames(inGif, outFolder):
frame = Image.open(inGif)
nframes = 0
while frame:
frame.save('%s/%s-%s.png' % (outFolder, os.path.basename(inGif), nframes) , 'PNG')
nframes += 1
try:
frame.seek(nframes)
except EOFError:
break;
return True
Это работает по назначению. Однако, если я запускаю следующий фрагмент кода:
im = Image.open(item) #item is one of the earlier created PNGs
pix = im.load()
for x in range(0,im.size[0]):
for y in range(0,im.size[1]):
print pix[x,y]
Выход будет что-то вроде 13
или 3
вместо предполагаемого (255, 255, 255, 255)
. Как только я открываю файлы в Paint и сохраняю их без изменения чего-либо, скрипт работает нормально и выводит кортеж с (R, G, B, A)
.
Так что мой вопрос: Почему это и как я могу изменить код, который мне не нужно открывать все изображения вручную, прежде чем запускать вторую часть кода?
Редактировать: Я сначала испробовал все это, извлекая рамку в GIF вместо PNG, с тем же результатом.