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

深入解析:【图像处理】图片的前向映射与后向映射

参考博客:https://blog.csdn.net/fengdu78/article/details/106369059

一、前向映射与后向映射

1.1 前向映射

图像的几何变换就是建立一种源图像像素与变换后的图像像素之间的映射关系。也正是凭借此种映射关系可以知道原图像任意像素点变换后的坐标,或者是变换后的图像在原图像的坐标位置等。

用简单的数学公式可以表示为:

( x y ) = ( U ( u , v ) V ( u , v ) ) \begin{pmatrix} x \\ y \end{pmatrix} = \begin{pmatrix} U(u, v) \\ V(u, v) \end{pmatrix}(xy)=(U(u,v)V(u,v))
f ( u , v ) = ( x , y ) f(u, v) = (x, y)f(u,v)=(x,y)

其中,x,y代表输出图像像素的坐标,u,v表示输入图像的像素坐标,而U,V表示的是两种映射关系,f是将点(u,v)映射到(x,y)的映射关系,得说明的是,映射关系可以是线性关系,也可能是多项式关系。

从上面的映射关系允许看到,只要给出了图像上任意的像素坐标,都能够经过对应的映射关系获得几何变换后的像素坐标。

这种将输入映射到输出的过程我们称之为 “向前映射”。但是在实际应用中,向前映射会出现如下几个问题:

  1. 浮点数坐标,如(1,1)映射为(0.5,0.5),显然这是一个无效的坐标,这时我们需要使用插值算法进行进一步处理。
  2. 可能会有多个像素坐标映射到输出图像的同一位置,也可能输出图像的某些位置完全没有相应的输入图像像素与它匹配,也就是没有被映射到,造成有规律的空洞(黑色的蜂窝状)。

什么是有规律的空洞呢?下面举个例子大家就明白了

1.2 向后映射

为了克服前向映射的这些不足,因此引进了“后向映射”,它的数学表达式为:

f − 1 ( x , y ) = ( u , v ) f^{-1}(x,y) = (u,v)f1(x,y)=(u,v)

通过由输出图像的像素坐标反过来推算该像素为在源图像中的坐标位置。这样,输出图像的每个像素值都能够通过这个映射关系找到对应的为止。而不会造成上面所提到的映射不完全和映射重叠的现象。就是能够看出,后向映射与前向映射刚好相反,它

  • 在实际处理中基本上都运用向后映射来进行图像的几何变换。但是反向映射也有一个和前向映射一样的困难, 就是映射后会有小数,需通过插值方法决定输出图像该位置的值,OpenCV默认为双线性插值。

  • 在采用过程中,倘若在一些不改变图像大小的几何变换中,向前映射还是十分有效的,向后映射首要运用在图像的旋转的缩放中,因为这些几何变换都会改变图像的大小。

更多资料:https://github.com/0voice

http://www.rkmt.cn/news/94029.html

相关文章:

  • Day28:I2C 配置与使用
  • RPCS3完全配置手册:从零开始搭建高性能PS3模拟环境
  • 【C++14算法】make_unique
  • 深入理解连接错误:从 “ld returned 1“到系统性解决方案
  • 深度残差网络在智能垃圾分类中的技术实践与性能分析
  • Vue2如何设计大文件上传的交互界面与用户体验?
  • TinyMCE4支持微信公众号内容转存CMS
  • JS如何结合AES加密实现大文件上传的安全存储?
  • 正点原子imx6ull Qt界面显示bmp280气压值
  • wangEditor处理OA系统word文档批量上传
  • Termux安全防护终极指南:构建零信任移动开发环境
  • 10分钟构建智能图像分类系统:零代码AI实战指南
  • DPARSF预处理
  • 25、RAC数据库备份与恢复:使用Recovery Manager(RMAN)
  • P1131题解
  • 栈:数据结构中的 “线性管家”—— 从理论基础到统计领域实践应用
  • BoringNotch安装配置教程:将MacBook凹口变为动态音乐控制中心
  • 26、第三方集群解决方案及相关技术解析
  • 为什么视频生成稀疏注意力做不好?中科院自动化所最新提出稀疏注意力纠偏新范式
  • 吐血整理,性能测试的左移右移+性能基线实践,详细分析...
  • 【Qt开源项目】— ModbusScope-day 2
  • P2746题解
  • 企业级AI路由网关:解锁多模型智能调度的未来
  • LOOT完整使用指南:游戏模组加载顺序优化利器
  • 【URP】Unity[后处理]色差ChromaticAberration
  • Aurora UI 安装配置终极指南
  • SoFixer:专业修复内存dump的So文件工具完全指南
  • 完整教程:深度学习:Mini-Batch 梯度下降(Mini-Batch Gradient Descent)
  • 少儿编程考试路径规划:考级与竞赛时间如何平衡?
  • UG NX工程制图时,常见会出现哪些异常问题