Python 将4x4图像面片旋转15度的倍数

Python 将4x4图像面片旋转15度的倍数,python,image,scipy,rotation,Python,Image,Scipy,Rotation,我想找到一种有效的方法来旋转一个4x4图像,从一个更大的图像的角度是15的倍数。我目前正在提取一个6x6面片,例如,patch=img[x-3:x+3,y-3:y+3]然后运行scipy.ndimage.interpolation.rotate(patch,-15*o,reformate=False)[1:5,1:5]。但是,我基本上需要在图像中的任何位置(x,y)执行此操作。我有一个图像的“堆叠”版本,其数组大小为(m,n,6,6),其中m和n是原始图像的尺寸。即使在堆叠的版本上运行inter

我想找到一种有效的方法来旋转一个4x4图像,从一个更大的图像的角度是15的倍数。我目前正在提取一个6x6面片,例如,
patch=img[x-3:x+3,y-3:y+3]
然后运行
scipy.ndimage.interpolation.rotate(patch,-15*o,reformate=False)[1:5,1:5]
。但是,我基本上需要在图像中的任何位置
(x,y)
执行此操作。我有一个图像的“堆叠”版本,其数组大小为
(m,n,6,6)
,其中
m
n
是原始图像的尺寸。即使在堆叠的版本上运行
interpolation.rotate
,看起来它在内部只是以迭代的方式运行,而且需要很长时间

因为我只需要在固定的角度下完成这项工作,所以我正在尝试预先计算一些常量并对实现进行矢量化,以便可以一次处理所有这些常量。我曾尝试深入研究SciPy rotate的实现,但没有多大帮助

有没有明智的办法

当你说“4x4图像块”时,你是指4像素乘以4像素(总共16像素)?当你说“4x4图像块”时,你是指4像素乘以4像素(总共16像素)?