Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中围绕特定像素旋转图像_Python_Image_Astronomy_Image Rotation - Fatal编程技术网

在python中围绕特定像素旋转图像

在python中围绕特定像素旋转图像,python,image,astronomy,image-rotation,Python,Image,Astronomy,Image Rotation,如何在Python中围绕特定像素旋转图像?我正在尝试去旋转夜空的一组图像。由于恒星围绕北极星旋转,我可以将北极星定义为旋转中心,并旋转每个图像来排列恒星。通过一点数学:如果每个图像的像素位置是矢量a,北极星的位置是p,那么新位置new\p就是 new_p = a + R * (a-p) R在哪里 这会有问题,因为new\u p可能不是整数值位置向量。你 我可以倒着做。对于旋转图像的每个像素,应用上述变换的逆, 然后从原始图像中获取像素。因为它也可能不是整数,所以对相邻像素进行采样,如中所示(分

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

通过一点数学:如果每个图像的像素位置是矢量
a
,北极星的位置是
p
,那么新位置
new\p
就是

new_p = a + R * (a-p)
R在哪里

这会有问题,因为
new\u p
可能不是整数值位置向量。你 我可以倒着做。对于旋转图像的每个像素,应用上述变换的逆,
然后从原始图像中获取像素。因为它也可能不是整数,所以对相邻像素进行采样,如中所示(分散的点的数量可以用作采样权重)。

在phadej的回答中,图像上点的新旧坐标之间的转换是一个简单的过程

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


transform
的文档就在这篇文章的底部。

一旦你知道如何围绕一个特定的像素旋转图像,你如何通过编程定义北极星的位置?北极星不移动(或移动很少),因此总是在同一个像素上。所以我可以用像素坐标来定义它的位置。我肯定有一些库可以帮你做,但这是很好的编程练习。例如,
imagemagick
内置了这种“失真”: