基础-MVP图像处理-仿射变换

仿射变换算子可以将输入图像矩形区域的图像进行变换,并生成新的矩形输出图像。

可对图像进行截取、缩放、倾斜、旋转等操作,矫正图像到无倾斜,配合其他算子使用。

配置界面:可以调整其位置、大小、旋转和倾斜程度,缩放倍数等,这些主要是通过设置中心坐标、边长、旋转角度、倾斜角度、缩放倍数等参数来实现。

三种采样模式:最近邻、双线性、双三次(效果最好,耗时最大)。采样模式即插值方法。

采样模式会影响算法精度和运行速度,上面三个对应的算法精度由低到高,算法运行速度由快到慢。

最邻近插值(The nearest interpolation)即是选取一个最靠近的像素为它的像素值,这是最简单的一种插值方法,不需要计算。在待求像素的四邻像素中,将距离待求像素最近的邻接像素灰度值赋予待求像素。

如果(i+u, j+v)落在A区,即u<0.5, v<0.5,则将左上角象素的灰度值赋给待求象素,同理,落在B区则赋予右上角的象素灰度值,落在C区则赋予左下角象素的灰度值,落在D区则赋予右下角象素的灰度值。

特点:最邻近元法计算量较小,但可能会造成插值生成的图像灰度上的不连续,在灰度变化的地方可能出现明显的锯齿状。

双线性插值:

在数学上,双线性插值是有两个变量的插值函数的线性插值扩展,其核心思想是在两个方向分别进行一次线性插值。

简单来说,就是使用

int x=(i+0.5)*m/a-0.5

int y=(j+0.5)*n/b-0.5

来代替

int x=i*m/a

int y=j*n/b

相关推荐
zl_vslam20 分钟前
SLAM中的非线性优化-2D图优化之激光SLAM cartographer前端匹配(十七)
前端·人工智能·算法
dying_man1 小时前
LeetCode--44.通配符匹配
算法·leetcode
Paper Clouds2 小时前
代码随想录|图论|15并查集理论基础
数据结构·算法·leetcode·深度优先·图论
Paper Clouds2 小时前
代码随想录|图论|14有向图的完全可达性
数据结构·算法·深度优先·图论·宽度优先
遇见尚硅谷2 小时前
C语言:游戏代码分享
c语言·开发语言·算法·游戏
不喜欢学数学er3 小时前
第二十八天:贪心算法part02(第八章)
算法·贪心算法
GGBondlctrl3 小时前
【leetcode】字符串,链表的进位加法与乘法
算法·leetcode·链表·字符串相加·链表相加·字符串相乘
让我们一起加油好吗3 小时前
【基础算法】倍增
数学·算法·快速幂·洛谷·倍增
Jess073 小时前
归并排序递归法和非递归法的简单简单介绍
c语言·算法·排序算法
元让_vincent4 小时前
论文Review 3DGSSLAM GauS-SLAM: Dense RGB-D SLAM with Gaussian Surfels
图像处理·人工智能·平面·3d·图形渲染