基于错切变换的图像旋转
之前写图形学作业用到的,今天看书的时候又看到了,加深了印象和理解,所以顺便就记下来。
图像旋转
但是这种方法最明显的缺点就是会使新的图像有空白点。也可以通过在目标图像中通过旋转矩阵的逆矩阵来找原图像中对应的点,需要用到一些插值算法(打算写缩放的时候再研究研究)。下面这个方法实现比较简单,而且运算速度比较快,对于每个点只需要进行三次浮点数乘法(最基础的正向旋转都需要进行4次浮点数乘法)。
通过三次错切变换实现旋转
因为
即一次旋转变换可以看成依次进行三次错切变换。对于每次错切变换,
取
测试效果如下:
原三角形填充
绕中点逆时针旋转30∘
绕中点逆时针旋转 120∘
但是三次取整使得精度会有所丢失,因此图像旋转的角度与原需要角度可能会有所偏差。而且就我写的代码来看,当旋转角度处于