概念

在图像处理中的空间变换(spatial transformation)分成两种情况,有仿射变换(Affine Transformation)及投影变换(Perspective Transformation)。

仿射变换是从一个二维坐标变换到另一个二维坐标,它是一种线性变换,保持了图像的平行性和平直性,即在变换之后,原先图像中的直线与平行线还是保持一致。只是位置存在变化。仿射变换包括平移(Translation)、缩放(Scale)、翻转(Flip)、旋转(Rotation)和剪切(Shear)。

而投影变换则是指利用投影光束映射图像到投影面上,原始图像与变换后的图像存在着投影变换的关系。

对于数学上的表示而言,这两者都是一样的,始终存在着一个变换矩阵使得原图像与变换后的图像能够互相转换。

举个例子


如上图所示,假设f为原图像,g为变换后图像。
通过一定的变换关系,使得f变换到g。如果我们知道对应角点的坐标,则可以通过以下的式子进行推算。

matlab实现

以下为对应的matlab代码,只要设置对应的xs,ys,xd,yd,即可求出对应的矩阵c

m1 = [xs0,xs1,xs2,xs3;ys0,ys1,ys2,ys3;xs0*ys0,xs1*ys1,xs2*ys2,xs3*ys3;1,1,1,1];
m2 = [xd0,xd1,xd2,xd3;yd0,yd1,yd2,yd3];
% c is the transformation matrix from src to dest
c = m2*inv(m1);

由于矩阵的计算比较复杂,特别是求逆运算,后续将再提供对应C程序。

【图像处理】空间变换相关推荐

  1. 数字图像处理--空间变换

    上次讲了数字图像处理的一题,今天再贴一题 Geometric transform (test image: fig3.tif) Develope geometric transform program ...

  2. 数字图像处理-空间域处理-灰度变换-基本灰度变换函数(反转变换、对数变换、伽马变换和分段线性变换)

    数字图像处理-空间域处理-灰度变换-基本灰度变换函数(反转变换.对数变换.伽马变换和分段线性变换) 空间域处理是直接对像素进行操作的方法,这是相对于频率域处理而言的.空间域处理主要分为两大类:灰度变换 ...

  3. Matlab数字图像处理——图像的空间变换

    Matlab空间变换函数 imtransform Matlab空间变换函数 imtransform 可以实现图像仿射变换(如 平移.旋转.剪切.缩放).投影变换, 该函数可与 maketform 配合 ...

  4. OpenCV之灰度空间变换

    OpenCV入门之灰度空间变换 本系列博客主要以数字图像处理第三版为算法基础,以OpenCV为工具进行图像处理基础知识的分享.该教材的前两张基础知识这里不详述,有需要的读者自行查阅.本篇博客介绍第三章 ...

  5. 空间变换网络--spatial transform network

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u011961856/article/details/77920970 CNN分类时,通常需要考虑输入 ...

  6. pytorch空间变换网络

    pytorch空间变换网络 本文将学习如何使用称为空间变换器网络的视觉注意机制来扩充网络.可以在DeepMind paper 有关空间变换器网络的内容. 空间变换器网络是对任何空间变换的差异化关注的概 ...

  7. 坐标变换,空间变换的本质

    坐标变换或空间变换,本质是相对坐标的变化,绝对坐标没变. 世界空间有两个物体A,B.将A变换到B的坐标空间意思是:将A从世界空间变换到B的局部坐标空间,也就是在B的局部坐标系中重新表示A的坐标(也就是 ...

  8. VTK修炼之道9:坐标系统及空间变换(窗口-视图分割)

    1.坐标系统 计算机图形学里常用的坐标系统主要有四种,分别是:Model坐标系统.World坐标系统.View坐标系统和Display坐标系统,以及两种表示坐标点的方式:以屏幕像素值为单位和归一化坐标 ...

  9. 数字图像处理—亮度变换与空间滤波—亮度变换函数

    数字图像处理-亮度变换与空间滤波-亮度变换函数 参考资料:<数字图像处理>,仅供学习参考. 亮度变换函数仅取决于亮度的值,与像素位置无关,所以亮度变换函数通常可写成如下形式: s=T(r) ...

最新文章

  1. 【剑指Offer面试题】 九度OJ1510:替换空格
  2. 一个 bad file descriptor 的问题
  3. opengl纹理单元
  4. buffer string builder简单说明
  5. pap认证要交换几次报文_华为HCIA认证RS路由与交换 —— 链路状态协议OSPF PPP原理与配置方法详解...
  6. cuda11+pytorch安装
  7. three.js OrbitControls鼠标按键修改(左平移,右旋转)
  8. C语言 简单选择排序算法
  9. 电脑命令教程计算机基础知识,电脑常用运行命令图文教程(DOS命令)
  10. Blender使用maya系快捷键
  11. 336亿的生意——你所不了解的Dapp这一年(下)
  12. tk域名ml域名ga域名cf域名免费顶级域名获取及域名解析绑定IP发布网站
  13. 机器学习评估指标 - f1, precision, recall, acc, MCC
  14. 偏见与苛求在科技媒体中依旧根深蒂固
  15. HTML5中英文对照字典,VRay中英文对照表
  16. 30位中外大师的摄影箴言
  17. PMP备考错题集-强化习题三
  18. 大数据后从此再无隐私_大数据时代没有个人隐私?
  19. 明日开幕|第四届OpenI/O启智开发者大会
  20. 用技巧] Http请求偶尔超时+总结各种超时死掉的可能和相应的解决办法

热门文章

  1. Winform-TextBox实现 placeholder
  2. 无伴电流源在回路电流法出现时基本回路选取
  3. stm8的c语言编程,STM8的C语言编程.doc
  4. MySQLexplain之Extra介绍
  5. return的用法?
  6. 动态库的创建和使用(Win10+VS2022)
  7. CentOS6.8搭建mrtg与详细配置
  8. 镜像制作转换上传操作
  9. CSSJavaScript讲解
  10. java 添加手机联系人_Android编程实现读取手机联系人、拨号、发送短信及长按菜单操作方法实例小结...