像素网格上的仿射变换

信息处理 图片
2022-01-24 07:13:35

我正在对图像进行仿射变换。目前我正在旋转,但稍后将添加一般转换。

基本上每个像素都由旋转矩阵 R 映射:

[cos(a)sin(a)sin(a)cos(a)]

问题是映射回来并不总是回到网格点,所以我基本上使用蛮力方法将其舍入。什么是更好的方法(类似于 Bresenham 的线条绘制算法)?

1个回答

您需要的是一种插值方法

您描述的方法称为最近邻,因为您选择最接近您实际想要的位置的像素。

其他方法包括:

  • 双线性插值(选择 4 个最近的点,根据距离进行插值xy(见这里
  • 重心插值(选择 3 个最近的点,在三角形坐标系中插值)
  • 双三次插值(见这里