[深度学习][转载]如何旋转图片180度重新获取坐标位置
Posted FL1623863129
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[深度学习][转载]如何旋转图片180度重新获取坐标位置相关的知识,希望对你有一定的参考价值。
需求:有一批VOC数据集需要旋转180度后,重新把框存进xml里面,这时候这个就派上用场了。
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
-
顺时针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
-
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度的新坐标求解
由于在求边界时,假定图像进行顺时针旋转,因此此处进行反推新像素位置在原图像中的对应位置时,需要用逆时针计算。
顺时针计算方法是:
X = xcos(theta) + y sin(theta)
Y = ycos(theta) – x sin(theta)
逆时针计算方法是:
X= x cos(theta) – ysin(theta)
Y = xsin(theta) + ycos(theta)
而图像的坐标轴与平常所用的坐标轴不同。
更详细的推导过程参见该博客:
图像旋转算法原理-- 旋转矩阵_liyuan02的博客-CSDN博客_图像矩阵旋转
以上是关于[深度学习][转载]如何旋转图片180度重新获取坐标位置的主要内容,如果未能解决你的问题,请参考以下文章
183Java8对图片做顺时针旋转90度逆时针旋转90度旋转180度水平翻转垂直翻转操作。
183Java8对图片做顺时针旋转90度逆时针旋转90度旋转180度水平翻转垂直翻转操作。