图像旋转中坐标的重新计算

2024-06-15 15:27:54 发布

您现在位置:Python中文网/ 问答频道 /正文

想象一下有一张图片(图片中的参考) 在左上角,在我上传的图片中,它靠近0,0角)。 使用不同的库可以很容易地旋转图像。 现在,与图片相关联的是一个特定的点,你必须重新计算它的坐标,相对于你应用到图片的旋转。 假设你的图像是正方形的,顺时针旋转90度。点的初始坐标为x=4,y=1,在 旋转应为3,4

以下代码是否正确,可以重新计算该点(或任何其他点)的坐标? 我对“如果”的条件有强烈的怀疑。我想知道我是否应该应用另一个涉及模的运算

import numpy as np

def rot(x,y, ang):
  xn=np.cos(ang)*x + np.sin(ang)*y
  yn=-np.sin(ang)*x + np.cos(ang)*y
  return [xn,yn]


x=4
y=1
mpx=4 # width of the image
mpy=4 # height of the image

# 3 rotations of 90 degrees
a=np.arange(2.0*np.pi, 0, -np.pi/2.0) 
print(a)
for i in a:
  xn,yn=rot(x,y,i)

  if(xn<0):
    xn+=mpx
  if(yn<0):
    yn+=mpy

  print("%f %f" %(xn,yn))

enter image description here


Tags: ofthe图像imagenppi图片sin