[深度学习][转载]如何旋转图片180度重新获取坐标位置

需求:有一批VOC数据集需要旋转180度后,重新把框存进xml里面,这时候这个就派上用场了。

1. 首先图像的左上角为原点建立坐标系,往右往下为正向,围绕图像的中心位置进行旋转

 
  
  1. 逆时针90度:x=2*(x/w-0.5) ,y=2*(y/h-0.5) , X=y, y=-x, x=(x+1)/2*h,y=(y+1)/2*w

  2. 顺时针90度:x=2*(x/w-0.5) ,y=2*(y/h-0.5), x=-y,y=x, x=(x+1)/2*h,y=(y+1)/2*w

  3. 180度:x=2*(x/w-0.5) ,y=2*(y/h-0.5), x=-x,y=-y, x=(x+1)/2*w,y=(y+1)/2*h

图像中一个坐标绕图像中心旋转90度、-90度、180度的新坐标求解

图像旋转后的还原图像坐标

[深度学习][转载]如何旋转图片180度重新获取坐标位置_第1张图片

由于在求边界时,假定图像进行顺时针旋转,因此此处进行反推新像素位置在原图像中的对应位置时,需要用逆时针计算。

顺时针计算方法是:

                           X = xcos(theta) + y sin(theta)
                           Y = ycos(theta) – x sin(theta)
逆时针计算方法是:

                            X= x cos(theta) – ysin(theta)
                             Y = xsin(theta) + ycos(theta)
而图像的坐标轴与平常所用的坐标轴不同。

[深度学习][转载]如何旋转图片180度重新获取坐标位置_第2张图片

更详细的推导过程参见该博客:

图像旋转算法原理-- 旋转矩阵_liyuan02的博客-CSDN博客_图像矩阵旋转

你可能感兴趣的:(深度学习,深度学习,计算机视觉,人工智能)