Вы очень усложнили нам понимание того, что вы пытаетесь сделать (особенно потому, что вы уже сказали нам, что код, который вы включили, не работает). Но вот как я бы сделал урожай:
from PIL import Image
import numpy as np
size = image1.size
size = [i//2 for i in size]
array1 = np.asarray(image1)
array2 = array1[:size[1], :size[0]]
image2 = Image.fromarray(array2)
Обратите внимание, что array1 имеет форму (y, x, 3), если image1 имеет размер (x, y). Если вам нужно поместить значения из array2 в существующее изображение, я считаю, что самый простой способ:
image2.fromstring(array2.tostring())
Также в вашем коде sequence
уже является «последовательностью» (или итеративной, если вы хотите быть техническим), поэтому вам не нужно создавать seq_in, но если вы действительно хотите иметь последовательность в виде списка Вы можете сделать seq_in = list(sequence)
Я все еще не совсем понимаю проблему, с которой вы столкнулись, но, возможно, этот пример поможет разобраться:
image1 = Image.open("img1.jpg")
array1 = np.asarray(image1)
array2 = np.fft.fftn(array1)
array2_uint = (np.log(np.abs(array2)) * 14).astype('uint8')
image2 = Image.fromarray(array2_uint)
array3 = np.fft.ifftn(array2).astype('uint8')
image3 = Image.fromarray(array3)
Изображение1
![image1](https://i.stack.imgur.com/LPMeC.jpg)
Image2
![image2](https://i.stack.imgur.com/KVXUZ.jpg)
Image3
![image3](https://i.stack.imgur.com/UO0te.jpg)
Как вы видите, и array2_uint, и array3 правильно конвертируются в изображения. Можете ли вы попытаться объяснить возникшую проблему, возможно, обновите код в своем вопросе, включив в него пример или неправильный вывод, если вы получаете неправильный вывод.