当前位置: 首页 > news >正文

基础-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

http://www.lryc.cn/news/184151.html

相关文章:

  • Linux嵌入式学习之Ubuntu入门(六)shell脚本详解
  • 学习完C++ 并发编程后 手写线程池 最简单的线程池
  • 【Overload游戏引擎分析】编辑器对象鼠标拾取原理
  • 【Spring内容进阶 | 第三篇】AOP进阶内容
  • 华为云ModelArts:引领AI艺术创作的未来,让人人都可以成为“艺术家”!
  • Elasticsearch:如何从 Elasticsearch 集群中删除数据节点
  • 长假回归,回顾一下所有的电商API接口
  • 认识计算机主板
  • PHP乱七八糟面试题
  • pom管理规范
  • AI大模型的安全隐患问题与新兴Anthropic新势力涌动
  • slamplay:用C++实现的SLAM工具集
  • IPT2602协议-USB 快速充电端口控制器
  • Zotero 超好用插件的下载链接及配置方法(PDF-translate/ZotFile/茉莉花/Zotero Scihub)
  • Titus网关中的缓存一致性机制
  • flutter开发实战 - inappwebview设置cookie
  • 零基础如何自学网络安全,基于就业前景全方位讲解,包教包会
  • Java项目防止SQL注入的几种方案
  • Win11 安装安卓子系统方法教程
  • golang pg 数据库不存在 就创建 --chatPGT
  • VUE3照本宣科——eslint与prettier
  • 【谷粒学院】Maven加载问题
  • PostgreSQL数据库中实现字段递增
  • 深度学习——深度学习计算二
  • HarmonyOS/OpenHarmony原生应用-ArkTS万能卡片组件Badge
  • 在Flink中集成和使用Hudi
  • docker搭建Jenkins及基本使用
  • CSS初体验
  • python性能分析
  • 苹果手机怎么备份所有数据?2023年iPhone 15数据备份常用的3种方法!