几何变换

几何变换 = 坐标的空间变换(最常用的就是 仿射变换) + 插值

仿射变换

设  为原图像中的坐标, 为变换后图像中的坐标,图像的仿射变换可以表示为:

对应的矩阵表示为:

【注】添加 1 是为了和平移变换中的  维度对其, 添加 1 只是为了和  对应。

其中 T 可以有如下几种形式(皆为线性变换):

什么是线性变换?

设算子 ,对线性空间  上的任意元素  和 ,以及数域  中任意 ,都有:

这两个标准可以整合为一个:

而对于上述图像的仿射变换来说

对坐标  和 ,进行线性变换

令变换后 

则有:

举个例子

证明一下(垂直)偏移变换:

      计算的时候将坐标转为了向量表示 

      矩阵乘法:

   向量转为坐标表示:  

可以得到:

【注】:其实可以看到,计算过程中与变换矩阵  的值没有关系,换句话说,只要是矩阵变换,就一定是线性变换

【注】:同时,也证明了神经网络模型为什么需要激活函数,因为权重计算过程本质就是矩阵计算,而单纯的矩阵计算一定是线性变换,而多层的网络模型只是多布线性变换的叠加,最终还是可以表示为一个变换,如下:

所以,神经网络模型为了表示更加复杂的变换(拟合更加复杂的函数),必须为其添加非线性变换,也就是激活函数 

换种表示方法

其实,对于神经网络来说,因为权重参数有很多层,如果采用像图像处理中仿射变换那样给向量添加 1 来进行维度对齐,则对于内存的利用率太低(行和列都多添加了一层 0)

所以,一般的形式都改为了这样:

对应到图像处理的仿射变换中就是如下形式:

不过一般情况,图像处理中仿射变换的计算次数远没有神经网络这么多次,所以,传统的表示方式会更加方便

前向映射的完整过程

上述所提到的仿射变换的表示方式,属于前向映射,他的完整过程是:

输入图像上的整数点坐标经过仿射变换到输出图像上之后,基本都会变成非整数坐标,因此,像素值会按照一定的权重分配到其周围的四个坐标上,而对于输出图像来说,其整数点坐标的像素值是由很多输入图像中的像素映射并分配过来的,所有被分配的像素值进行叠加,才是输出图像该整数点的像素值

这样有个问题就是,输出图像某一点的像素值不能直接得到,需要遍历输入图像的所有像素值,对其进行坐标变换,分配像素值到整数位置,才能得到输出图像各像素点的像素值。这是向前映射法的缺点

【注】:对于输出图像,还有一种可能是某些输出位置完全没有要赋值的像素。

反向映射

目前最常使用的(如Matlab)则是反向映射,该方法是直接通过输出图像上整数点的坐标  反向计算输入图像上的坐标  ,基本上,计算后的  也是非整数坐标,利用其周围整数点的输入图像的像素值进行插值,就得到了点  的坐标值

这样的好处就是可以计算输出图像中任意点的像素值,同时不存在空像素值的情况

【注】:可选用的插值算法则有很多,最邻近插值、双线性插值、三线性插值等

数字图像处理 - 仿射变换相关推荐

  1. 第2章 Python 数字图像处理(DIP) --数字图像基础5 -- 算术运算、集合、几何变换、傅里叶变换等

    目录 数字图像处理所有的基本数字工具介绍 算术运算 集合运算和逻辑运算 空间运算 向量与矩阵运算 图像变换 图像和随机变量 数字图像处理所有的基本数字工具介绍 算术运算 # 相加 img_ori = ...

  2. 【遥感数字图像处理】实验:遥感图像显示与数据输入/输出(Erdas版)

    一.实验平台:Erdas 9.1 二.实验内容:视窗功能简介.图形和图像显示操作.实用菜单操作.显示操作.AOI菜单操作.矢量和栅格菜单.数据的输入输出等. 三.实验目的:初步了解Erdas的主要功能 ...

  3. 数字图像处理知识总结

    一:基本概念 数字图像:指由被称作像素的小块区域组成的二维矩阵.将物理图像行列划分后,每个小块区域称为像素(pixel).每个像素包括两个属性:位置和灰度. 图像数字化一般分为采样.量化与编码三个步骤 ...

  4. 数字图像处理--冈萨雷斯第4版--第二章 数字图像基础

    数字图像处理--冈萨雷斯版--第二章 第二章 数字图像基础 2.1 视觉感知要素 2.1.1 人眼的结构 2.1.2 人眼中图像的形成 2.1.3 亮度适应与辨别 2.2 光和电磁波谱 2.3 图像感 ...

  5. 精通Matlab数字图像处理与识别nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;

    文章目录 1. 数字图像处理与识别 1.1数字图像 1.2 数字图像处理与识别 1.3 数字图像处理的预备知识 1.4 基本的图像操作 2. MATLAB基础 2.1 常用命令 2.2 矩阵 2.3 ...

  6. 数字图像处理(冈萨雷斯版)-第二章

    第二章:数字图像基础 2.1 视觉感知要素 2.2 光和电磁波谱 2.3 图像感知与获取 2.3.1 单个传感器获取图像 2.3.2 使用条带传感器获取图像 2.3.3 使用传感器阵列获取图像 2.3 ...

  7. 数字图像处理篇(7)角点检测

    一.引言 读者们跟着小编学了这么久的数字图像处理,是时候带领大家看看我们学校的建筑啦!(这是小编所在大学的计算机学院,没准小编还能遇到校友呢) 相信不少的读者都注意到了左上角的A.B.C,并且喃喃的吐 ...

  8. 数字图像处理例题整理

    一.判断题 1-1 一般来说,采样间距越大,图像数据量越少,质量越差.(√) 1-2 图像锐化的目的是加强图像中景物的细节边缘和轮廓.(√) 1-3 腐蚀是一种消除连通域的边界点,使边界向内收缩的处理 ...

  9. 数字图像处理——第二章(数字图像基础)

    数字图像基础 一.人眼结构 二.电磁波谱和光 2.1 电磁波谱 2.2 光 三.图像的数学模型 四.图像的取样和量化 4.1 取样和量化的概念 4.2 数字图像表示 4.3 空间和灰度分辨率 4.4 ...

最新文章

  1. RxJava 实现模糊搜索
  2. python过滤敏感词
  3. 一步一步深入spring(6)--使用基于XML配置的spring实现的AOP
  4. linux---socket编程
  5. NVIDIA显卡驱动版本,CUDA版本,cudnn版本之间关系及如何选择
  6. 版本交付_连续交付友好的Maven版本
  7. Activiti 工作流会签开发设计思路
  8. (19)FPGA脉冲计数器设计(第4天)
  9. Map定义了几个用于插入和删除元素的变换方法
  10. 怎么删除安卓手机里没用的文件夹,如何知道哪个有用哪些没用?
  11. mybatis if where标签怎么使用?
  12. zabbix自定义监控nginx
  13. 数论 中国剩余定理(孙子定理)详解
  14. 必读论文 | 机器交互必读论文8篇
  15. iOS Charts
  16. 汽车在十字路口左转时,转大弯和转小弯是什么意思?
  17. iphone的Safari浏览器中HTML5上传图片方向问题解决方法
  18. context.getContentResolver().query()详细用法详解
  19. Mysql错误编码和解释表
  20. ubuntu和windos 局域网NTP配置时间同步设置方法

热门文章

  1. java测试网络延时_Java如何实现延时访问
  2. Python 以优雅的姿势 操作文件
  3. 单片机小白篇1 -51单片机代码加密程序
  4. 电大远程教育计算机应用基础,(2017年电大)2017年电大远程网络教育计算机应用基础统考模拟试题集.doc...
  5. cdo处理数据(自用笔记
  6. 查询一个企业名下的车辆种类数量
  7. 蓝桥杯基础练习 十六进制转十进制 Java
  8. Swift3 隐藏手机号中间四位
  9. [统计学]大数定律与中心极限定理
  10. html dom firstchild,DOM Node对象属性firstChild