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

时间:2019-04-08 15:45:01

标签: python image rotation

想象一下有一张图片(图片中的参考 在左上角,在我上传的图片中,它位于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

1 个答案:

答案 0 :(得分:1)

旋转操作后,可以应用以下两个步骤并删除if条件:

oAuth2ClientContext.getAccessToken().getValue();

这应该为您提供正确的旋转结果。

相关问题