图像旋转一直是图像处理的一项基本功能,看似很简单,但是每次想得时候都还要费一番功夫,这里简单得描述一下,其实想清楚这个问题的关键就是:用极坐标系
不妨设图像绕左上方的原点旋转,有原坐标系坐标:
x=r*cos(thr1);
y=r*sin(thr1);
那么旋转thr2的角度之后(逆时针),有
x'=r*cos(thr1-thr2)=x*cos(th2)+y*sin(thr2)
y'=r*sin(thr1-thr2)=-x*sin(thr2)+y*cos(thr2)
x',y'为旋转后原x,y像素点所位于的位置坐标,当然旋转后的图像的大小应该变换
还有围绕图像中心点旋转的公式,只要把二分之一的图像宽高考虑进去就行了,同样的公式,推导一下就好了
顺时针旋转的公式,将thr1-thr2变成thr1+thr2即可