Пожалуйста, убедитесь, что ваш код работает.
Вот фрагмент кода, который поможет вам
import math
import numpy as np
from PIL import Image
im = Image.open('bee_hive.jpeg')
im = np.array(im)
imageW = im.shape[0]
imageH = im.shape[1]
imageC = im.shape[2]
new = np.zeros(im.shape)
for x in range(imageW):
for y in range(imageH):
rgb = im[x,y,:]
for i in range(3, -3,-1):
#Set new xy coordinates
new_x = round(n * math.sin(i) + (imageW / 2))
new_y = round(n * math.cos(i) + (imageW / 2))
if new_x <= imageW and new_y <= imageH:
new[new_x, new_y, :] = rgb
new = Image.fromarray(new.astype('uint8'), 'RGB')
new.show()
Основная идея - использовать numpy для генерации тензора (трехмерной матрицы) вашего изображения. Тогда изменение ваших пикселей - это просто перестановка элементов тензора.