Так что я сейчас пытаюсь срезать изображение в python, используя два фактора (Bx и By). Проблема в том, что когда я помещаю отрицательные значения, я получаю IndexError / out of bounds из массива.
Я считаю, что мне нужно выполнить некоторые отступы, но я понятия не имею, применить ли это к моему коду?
import cv2
import numpy
#Load the source image
src = cv2.imread("lena.png")
rows, cols, c = src.shape
# x1 = x + y · Bx
# y1 = y + x · By
Bx = 0.0
By = 0.5
imgForward = numpy.ndarray(shape = (int (cols + rows*By), int (rows + cols*Bx), 3))
for row in range(rows):
for col in range(cols):
imgForward[int (row+col*By), int(col+row*Bx)] = src[row,col]/255
cv2.imshow("Forward mapping", imgForward)
cv2.waitKey(0)