图像旋转的公式如下,如何推倒在此便不再详细介绍:
x0 = (x-xr)*CosTheta - (y-yr)*SinTheta + xr + 0.5
y0 = (y-yr)*CosTheta + (x-xr)*SinTheta + yr + 0.5
其中, x , y 为旋转后图像像素 x0 , y0 为其旋转前对应的像素 , 本公式中 顺时针方向旋转角度为 - ,逆时针方向旋转角度为+ , theta为旋转角度。
最近邻方法介绍:
最近邻方法很好理解,是最容易的图像旋转方式,但是,其旋转效果跟双线性以及双三次插值比还是会差一些,但是用肉眼观察,差别不明显。
最近邻方法:
根据旋转角度,对旋转后的图像的每个像素点,寻找与它最近的 原图像点的灰度值作为其灰度值。由于角度的计算会产生小数,此方法直接采用
四舍五入的方式进行处理。
函数代码如下:
/*
函数功能:采用最近邻的方式,实现灰度图像的旋转,旋转后,图像的大小不变。
参数介绍:
src: 原图像 width:原图像的宽度 height:原图像的高度
dst:旋转后的图像
theta:旋转角度(弧度制)
xr,yr :