2

如何在 Python 中围绕特定像素旋转图像?我正在尝试对一组夜空图像进行反旋转。由于星星围绕北极星旋转,我可以将北极星定义为旋转中心并旋转每个图像以排列星星。

4

2 回答 2

2

在 phadej 的回答中,图像上一个点的新旧坐标之间的变换是仿射变换

PIL (Python Imaging Library) 有一个名为 image 的方法transform,它可以执行图像的仿射变换。

的文档transform位于本页底部附近。

于 2010-08-25T23:13:36.077 回答
0

稍微算一下:如果每个图像的像素位置是 vector a,而 Polaris 的位置是p,那么新的位置new_p

new_p = a + R * (a-p)

其中 R 是旋转矩阵

会有问题,因为new_p可能不是整数值位置向量。你可以倒过来做。对于旋转图像的每个像素,应用上述变换的逆,而不是从原始图像中获得像素。因为它也可能不是整数,所以像wu-pixels一样对相邻像素进行采样(散布在周围的点的数量可以用作采样权重)。

于 2010-08-25T22:52:21.887 回答