Я пытаюсь повернуть изображение в python с использованием ближайшего соседа и билинейной интерполяции без использования библиотеки OpenCv, и вот мой подход:
import matplotlib.image as img
import numpy as npy
import math
m = img.imread("room.png");
w, h = m.shape[:2];
newImage = npy.zeros([w,h, 4]);
for i in range(w - 1):
for j in range(h - 1):
newImage[i , j] = m[int(math.cos(30)*(i-w/2)+math.sin(30)*(j-h/2) + w/2),int(math.cos(30)*(j-h/2)-math.sin(30)*(i-w/2) + h/2)]
img.imsave('rotated.png', newImage);
, но я не мог найти, почему он не работает нормальновот ошибка, которую я получил:
IndexError: индекс 852 выходит за пределы оси 1 с размером 852