旋转图像而不平均像素值

Rotate an image without averaging pixel values

是否可以旋转图像并保持真实值?当我旋转黑白图像时,我得到灰度值。我可以在不平均像素值的情况下旋转吗?我几乎可以通过使用 np.where() 手动完成,但是当像素值超过 2 个时会变得困难。

代码:

import matplotlib.image as mpimg 
import matplotlib.pyplot as plt 
from scipy import ndimage
import cv2

filename = 'rot square.png'  

img = cv2.imread('square test.png') 
img_rot = ndimage.rotate(img, 10, reshape = False)
cv2.imwrite(filename, img_rot)

原图

旋转图像

平均值

真值

这里:

from PIL import Image

img = Image.open('original.png')
rotated = img.rotate(45)
rotated.save('rotated.png')