精华内容
下载资源
问答
  • 图像仿射变换原理4:组合变换及对应变换矩阵
    千次阅读
    更多相关内容
  • 结果包含一个内插图像,其中圆形结构转换为矩形结构。 函数 transImageInvPolar 对具有圆形结构的图像应用逆极坐标变换。 [Cx, Cy] 是两个圆的圆心位置,InnerRadius 是小圆弧的半径,OuterRadius 是大圆弧的半径。...
  • ②通过直线或平面创建包括线框对象在内的对象的镜像副本。 ③创建对象的矩形或圆形阵列。 ④使用一组参考点来重定位和重构形对象。 常见的对象的几何变换如下。 (1)比例(缩放):将选定的对象相对于指定参考点.

    在这里插入图片描述
    使用【变换】命令可对部件中的对象执行高级重定位和复制操作。

    【变换】命令对非参数化对象和线框对象最有用。

    在这里插入图片描述

    在这里插入图片描述
    【变换】创建对象的非关联副本,从而原始对象的更改或更新不会影响该副本。如果要创建关联副本,则使用【镜像体】或【实例体】等其他命令。

    通过变换命令,用户可以实现以下操作。

    ①同时移动并调整对象大小。

    ②通过直线或平面创建包括线框对象在内的对象的镜像副本。

    ③创建对象的矩形或圆形阵列。

    ④使用一组参考点来重定位和重构形对象。

    常见的对象的几何变换如下。

    (1)比例(缩放):将选定的对象相对于指定参考点成比例放大或缩小尺寸,选定的对象在参考点处不移动。

    (2)通过一直线镜像:将选定的对象相对于指定的参考直线,在参考直线的相反侧建立原对象的一个镜像。

    (3)矩形阵列:将选定对象从指定的阵列原点出发,沿坐标系x轴和y轴方向建立一个等间距的矩形阵列。

    (4)圆形阵列:将选定对象从指定的阵列原点出发,绕阵列原点建立一个等角间距的环形阵列。即系统先将对象复制到阵列原点,然后绕原点建立阵列。

    (5)通过一平面镜像:将选定对象相对于指定参考平面做镜像,在对象的相反侧建立新对象。重定位将选定的对象相对于指定的参考系的原位置和方位移动(复制)到目标坐标系,使新对象和目标坐标系的位置方位保持不变。

    (6)点拟合:通过将对象从一组参考点变换到另一组来重定位、缩放和剪切对象。
    用户进行下述操作之一即可激活几何变换操作模块。

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 这一章节讲述的主要是和模型有关的变换,我们需要先学习几何对象的一些基本性质,了解OpenGL中对几何对象建模的支持,然后学习几何对象的缩放/平移/旋转变换,所有的这些变换最终都可以归结为模型变换矩阵。...

    这一章节讲述的主要是和模型有关的变换,我们需要先学习几何对象的一些基本性质,了解OpenGL中对几何对象建模的支持,然后学习几何对象的缩放/平移/旋转变换,所有的这些变换最终都可以归结为模型变换矩阵。

    几何对象实体

    几何对象主要指的是三维空间对象,包含点、线、面、体,图形学就是利用计算机对几何对象进行操作和显示的技术。

    OpenGL中,基本的几何要素包含:

    • 标量
    • 向量
      线性代数在计算机图形学中占有重要一席地位,需要回顾的线代概念有:
    • 向量空间:线性空间,处理向量的数学系统,包含向量和标量
    • 点积/内积和叉积
    • 线性相关/无关
    • 维数/基

    从向量空间触发,图形学引申出了仿射空间这一重要概念,仿射空间是向量空间的扩展,加入了点对象。

    直线

    直线可以通过点和向量联合表示,其参数形式为:P(α) = P0 + αd,表示所有经过P0点,与P0连线平行于向量d的点。
    在这里插入图片描述
    上面是采用单点定义的直线,直线也可以通过两点定义,参数形式为:
    在这里插入图片描述
    在这里插入图片描述
    上面参数方程移项就可以得到:
    在这里插入图片描述
    这就是仿射加法

    几何对象表示

    向量坐标系

    由一组线性无关的基张成,向量可以表示为:
    在这里插入图片描述

    标架

    上面向量坐标系,没有表示位置信息,引入标架可以解决。所谓标架,其实就是在原来向量坐标系的基础上,加入了原点,引入了点位置信息。
    在这里插入图片描述
    这么一来,点和向量就没法区分了。例如,(1,1,1)究竟表示的是一个点,还是一个向量?为了解决这个问题,我们引入齐次坐标。(但要知道齐次坐标的作用不仅在于区分点和向量,后几章会说明,等我写完了放个超链接上来)
    所谓齐次坐标,其实就是在原坐标表示上加入第4维度,第4维若为1则表示点,为0则表示向量。
    在这里插入图片描述
    这里做一个形式化定义:
    三维空间的四维齐次坐标的一般形式为:
    在这里插入图片描述
    齐次坐标的用途:

    • 所有标准变换(旋转、平移、放缩)都可以应用4×4阶矩阵的乘法实现
    • 硬件流水线体系可以应用四维表示
    • 对于正交投影,可以通过w = 0保证向量,w = 1保证点
    • 对于透视投影,需要进行特别的处理:透视除法
    向量坐标系的变换

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    可得
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    标架的变化

    在这里插入图片描述

    矩阵形式的仿射变换

    在这里插入图片描述

    OpenGL中的标架

    OpenGL管线中有6个固定的标架:

    • 模型坐标系
    • 世界坐标系
    • 相机坐标系
    • 裁剪坐标系
    • 规范化的设备坐标系
    • 屏幕坐标系

    不管是什么坐标系,标架中的坐标都是采用齐次坐标表示,标架之间的变换都是通过仿射变换矩阵实现。

    说了这么多,我们终于要进入最后的也是最重要的内容了,那就是如何利用仿射变换对图形进行变换。

    仿射变换

    • 变换:把点(或向量)映射到另一个点(或向量)
    • 作用:
      • 生成多个相同或者近似几何对象
      • 从不同的视角观察场景
      • 计算机动画

    模型变换

    平移

    平移由一个向量就可以确定了。
    在这里插入图片描述
    可以用在齐次坐标中一个4×4的平移变换𝑻表示平移: 𝒑’=𝑻𝒑
    在这里插入图片描述

    旋转

    一般旋转都是绕某轴旋转,这个时候旋转面和轴交点可以看成是旋转原点。
    在这里插入图片描述
    齐次坐标表示为 𝒑’=𝑹𝒛(𝜃)𝒑
    在这里插入图片描述
    如果绕其他轴也同理:
    在这里插入图片描述
    为什么我们这里这么强调是饶坐标轴旋转呢?因为简单。如果是一般情况的话,情况复杂,需要考虑旋转不动点、任意的旋转轴、旋转角度等。所以我们一般把任意的旋转进行分解,
    平移和旋转变换合称为刚体变换,因为只改变物体的位置和定向,非刚体变换如缩放、错切、反射。

    缩放

    缩放矩阵太简单了,当然,前提是在缩放中心在原点的情况下:
    在这里插入图片描述
    一般来说,sx,sy,sz都是正数,如果是负数,则会发生镜面对称,其实就是反射。
    在这里插入图片描述

    错切变换(了解)

    在这里插入图片描述
    在这里插入图片描述

    变换级联

    多个变换可以级联在一起,级联矩阵中,越往后的矩阵越先作用在物体上。为了得到正确的模型变换效果,一般先将模型放置在原点,按照缩放-旋转-平移的顺序进行变换。

    𝑴=𝑪𝑩𝑨, 𝒒=𝑴𝒑

    在这里插入图片描述
    关于级联矩阵举几个例子简单说明。

    1. 绕原点的一般旋转:
      绕原点的任意旋转根据选择的顺序不同可不唯一地分解为绕x轴、y轴、z轴的三个旋转的级联,绕哪个轴先旋转,关系倒是不大。其级联矩阵为:R=RxRyRz
    2. 沿着z轴,绕物体中心𝑷𝑓旋转
      在这里插入图片描述
      先将模型移动至原点,旋转之后再移回去。
      在这里插入图片描述
      注意这里不可直接Rz(θ),细想一下,这样会破坏模型旋转的不动点。

    OpenGL中的变换矩阵

    从概念上说,当前变换矩阵(CTM)就是一个4x4阶的齐次坐标矩阵,它是状态的一部分,被应用到经过流水线中的所有顶点。
    在这里插入图片描述
    在OpenGL的流水线中有一个模型视图矩阵和一个投影矩阵,这两个矩阵复合在一起构成CTM
    在这里插入图片描述
    可以选择在CPU变换之后传导到GPU,也可以直接在GPU中进行计算,也就是下面的两种方式:

    1. 构建新的模型视图矩阵,变换顶点位置,重新送入顶点坐标到GPU
    mat4 ctm = RotateX(theta[0])*RotateY(theta[1])*RotateZ(theta[2]);
    
    point4 new_points[36]; //======更新顶点位置
    for(int i=0; i<36; i++)
    {
    new_points[i] = ctm*points[i];
    }
    ……
    //======将顶点坐标送入GPU重绘
    loc = glGetAttribLocation(program, "vPosition");  
    ……
    glutSwapBuffers();
    
    1. 将新的模型视图矩阵送入着色器
    void main() // 顶点着色器
    {
    gl_Position = rotation*vPosition;
    color = vColor;
    }
    
    展开全文
  • 前向Abel变换获取一个圆柱对称3D对象的切片,并提供该对象的2D投影。 逆Abel变换采用2D投影并重建圆柱对称3D分布的切片。 阿贝尔逆变换在分析角度分辨的光电子/光子光谱,等离子羽流,火焰和太阳掩星的投影中起着...
  • matlab入门实例代码视觉对象跟踪的相似度变换的鲁棒估计 这是我们对相似​​性转换的大位移估计(LDES)跟踪器的实现。 主要思想是以有效的方式扩展基于CF的跟踪器的相似度转换(包括位置,比例和旋转)。 它可以...
  • 这是2.0 ,其中包括虚拟环境中虚拟对象的更通用的仿射变换,以及更多的实验和分析。 以前的版本仅包括虚拟3D对象相对于手指手势的几何变换。 要获得以前的版本,请访问。 纸 用于虚拟3D对象的仿射变换的论文已于2020...
  • 注意:当插件被调用时,有几个选项可以通过 javascript 对象传递。 maxIconsPerPage - 默认是 (int) 35,任何大于 0 的整数都被接受 allCategoriesText - 默认为(字符串)'所有类别',接受任何字符串 iconSet - ...
  • 程序完成对一图片对象的各种基本变换包括缩放,平移,旋转,切边和映射
  • polygonT 对象有多种方法可以对二维空间中的多边形执行矩阵变换包括平移、缩放、围绕任何给定点旋转以及围绕二维空间中的任何给定线进行反射。 它与矩阵变换一起使用以实现结果。
  • FUN = INVLAPFUN(B,A) 返回一个函数句柄,用于评估与拉普拉斯变换 B(s)/A(s) 关联的时间函数 FUN(t),其中 B 和 A 是包含多项式系数的相应行向量。 FUN = INVLAPFUN(TF) 使用 Control Toolbox 传递函数对象 TF。 ...
  • 摘要:Buck 型变换包括Buck 变换器及其衍生的全桥变换器。文中以Buck 型变换器为控制对象,给出了频域补偿设计中模拟PID 控制器的零极点配置原则,实现了其比例、积分、微分系数的整定。在此基础上,运用连续系统...
  • Buck 型变换包括Buck 变换器及其衍生的全桥变换器。文中以Buck 型变换器为控制对象,给出了频域补偿设计中模拟PID 控制器的零极点配置原则,实现了其比例、积分、微分系数的整定。在此基础上,运用连续系统离散化...
  • 计算机视觉中的常见问题是在图片或视频流中搜索并找到特定的对象或形状。 在这个特殊的项目中,我们被要求设计和实施一个完整的程序,该程序可以通过选择可用的工具或编写我们自己的代码来识别任何方向和混乱环境中...
  • 正交变换(傅里叶变换、Z变换

    千次阅读 2021-04-02 08:20:25
    正交变换(傅里叶变换、Z变换) ​ 信号分解方法多种多样,我们可将信号分解为直流分量+交流分量、偶分量+奇分量、实部分量+虚部分量、脉冲分量、正交分量等多种形式。其中一个较复杂而又有重要意义的分解方法便是...

    正交变换(傅里叶变换、Z变换)


    ​ 信号分解方法多种多样,我们可将信号分解为直流分量+交流分量偶分量+奇分量实部分量+虚部分量脉冲分量正交分量等多种形式。其中一个较复杂而又有重要意义的分解方法便是将信号分解为正交分量,我们把这个过程称作:信号的正交分解(正交变换)

    ​ 将信号正交分解之后,可以用于:

    • 方便处理
    • 便于抽取特性
    • 数据压缩

    ​ 首先有一个问题——什么是正交?

    ​ 在线性代数中我们了解过,向量的正交指的是 a ⃗ ⋅ b ⃗ = 0 \vec{a}\cdot\vec{b} = 0 a b =0——两个向量的内积为0,意味着两个向量在对方上的投影为0,即可认为这两个向量互不相关互不影响。显然,向量的正交对应的是正交的离散形式 ∑ i = 0 n a i ∗ b i = 0 \sum_{i=0}^n a_i * b_i = 0 i=0naibi=0

    ​ 然而,从信号的角度,许多信号其实是连续的,由连续的函数所表示,那么我们又该如何定义正交的连续形式呢?由此,我们引入连续函数的概念:如果在区间 ( t 1 , t 2 t_1, t_2 t1,t2) 上,函数 f 1 f_1 f1(t) 和 f 2 f_2 f2(t) 互不含有对方的分量,则称 f 1 f_1 f1(t) 与 f 2 f_2 f2(t) 在( t 1 , t 2 t_1, t_2 t1,t2)上正交。 即:
    < f 1 , f 2 > = ∫ t 1 t 2 f 1 ( t ) f 2 ( t ) d t = 0 <f_1 , f_2> = \int_{t_1}^{t_2}f_1(t)f_2(t)dt = 0 <f1,f2>=t1t2f1(t)f2(t)dt=0
    ​ 并有定理:

    任一函数 f (t)在 ( t 1 , t 2 t_1, t_2 t1,t2) 上可表示为正交函数集内函数 的线性组合。
    f ( t ) ≈ ∑ n = 1 N c n g n ( t ) f(t) \approx \sum_{n=1}^Nc_ng_n(t) f(t)n=1Ncngn(t)

    ​ 同时,用于正交变换的方法也多种多样:

    1. 傅里叶变换 Fourier Transform

    2. 离散余弦变换 Discrete Cosine Transform

    3. 沃尔希-哈德玛变换 Walsh-Hadamard Transform

    4. 斜变换 Slant Transform

    5. 哈尔变换 Haar Transform

    6. 离散小波变换 Discrete Wavelet Transform

    7. 离散K-L变换 Discrete Karhunen-Leave Transform

    8. 奇异值分解SVD变换 Singular-Value Decomposition

    9. Z变换

    ​ 本次学习心得中,我将主要介绍自主学习了解的傅里叶变换及其衍生Z变换这两种正交变换方法。


    傅里叶变换

    对傅里叶变换的理解

    ​ 法国数学家让·巴普蒂斯·约瑟夫·傅里叶男爵发现,任何周期函数都可以用正弦函数和余弦函数构成的无穷级数来表示:
    f ( t ) = a 0 2 + ∑ n = 1 ∞ [ a n cos ⁡ ( n w 0 t ) + b n sin ⁡ ( n w 0 t ) ] f(t) = \frac{a_0}{2} + \sum_{n=1}^{\infty}[a_n\cos(nw_0t) + b_n\sin(nw_0t)] f(t)=2a0+n=1[ancos(nw0t)+bnsin(nw0t)]
    在这里插入图片描述

    ​ 可以将*f(x)*理解为由如下正交基表示成的向量:
    { 1 , cos ⁡ ( 2 π n T x ) , sin ⁡ ( 2 π n T x ) } \{1,\cos(\frac{2\pi n}{T}x),\sin(\frac{2\pi n}{T}x)\} {1,cos(T2πnx),sin(T2πnx)}
    ​ 那么上面的式子就可以解读为:
    在这里插入图片描述

    ​ 令 w n = 2 π n T w_n = \frac{2\pi n}{T} wn=T2πn ,从三角函数的意义来说, w n w_n wn就对应着该三角函数的角频率,对于信号,则可看作是一个正弦波对应的角频率

    ​ 我们将x(通常代表时间t)作为自变量可以画出信号f(x)在时域上的函数图像:

    ​ 而将频率 w n w_n wn作为自变量我们同样也可以画出信号f(x)在频域上的函数图像:

    在这里插入图片描述

    ​ 将二者综合我们可以看到这样一个图像:
    在这里插入图片描述

    ​ 那么,我们从信号的角度可以这么认为——傅里叶级数展开的核心意义在于:将一个周期信号(时域上看只有一个)分解为了多个不同频率下的相互正交(相互独立、互不干扰)的信号。傅里叶级数展开的本质是信号由时域到频域

    ​ 我们注意到,傅里叶级数展开有一个前提条件:函数(信号)必须是周期的!但在生活研究中,许多信号显然都无法符合具有周期性这个要求。那么,对于非周期函数(信号),我们该如何实现时域到频域的分解变化呢?

    ​ 例如:下图这个函数,由于并非一个周期函数,无法写出它的傅里叶级数。
    在这里插入图片描述

    ​ 然而,我们可以拓宽一下思路,没有多个连续周期,但我们可以将函数的整个定义域( − ∞ , ∞ -\infty , \infty ,)看作是唯一的一个周期T:
    T ⟶ ∞ T \longrightarrow \infty T
    ​ 将T慢慢变大我们可以观察到:

    在这里插入图片描述

    在这里插入图片描述

    ​ 频域上看,这些频率就会变得稠密,直至连续,变为一条频域曲线:

    在这里插入图片描述

    ​ 傅立叶变换就是,让 T = ∞ T=\infty T=,求出上面这根频域曲线的过程。即傅里叶变换是傅里叶级数展开对应非周期函数(信号)的拓展延伸

    ​ 下面是傅里叶变换的数学公式推导:

    ​ 前面所述的傅里叶级数:
    f ( t ) = a 0 2 + ∑ n = 1 ∞ [ a n cos ⁡ ( n w 0 t ) + b n sin ⁡ ( n w 0 t ) ] , a 0 ∈ R f(t) = \frac{a_0}{2} + \sum_{n=1}^{\infty}[a_n\cos(nw_0t) + b_n\sin(nw_0t)],a_0\in\mathbb{R} f(t)=2a0+n=1[ancos(nw0t)+bnsin(nw0t)],a0R
    ​ 通过欧拉公式可以将其等价变换为复数形式:
    f ( x ) = ∑ n = − ∞ ∞ c n ⋅ e i 2 π n x T f(x) = \sum_{n = -\infty}^{\infty}c_n\cdot e^{i\frac{2\pi nx}{T}} f(x)=n=cneiT2πnx
    ​ 复数形式下,将其看作向量的话正交基则为:
    { e i 2 π n x T } \{e^{i\frac{2\pi nx}{T}}\} {eiT2πnx}
    将周期T推向无穷时:
    { f ( x ) = ∑ n = − ∞ ∞ c n ⋅ e − i 2 π n x T T = ∞ ⟹ f ( x ) = ∫ − ∞ ∞ F ( ω ) e i ω x d x \begin{cases} f(x) = \sum_{n=-\infty}^{\infty}c_n\cdot e^{-i\frac{2\pi nx}{T}} \\ T=\infty \end{cases}\Longrightarrow f(x) = \int_{-\infty}^{\infty}F(\omega)e^{i\omega x}dx {f(x)=n=cneiT2πnxT=f(x)=F(ω)eiωxdx

    ​ 由此可推出 F ( ω ) F(\omega) F(ω)
    { c n = 1 T ∫ x 0 x 0 + T f ( x ) ⋅ e − i 2 π n x T d x T = ∞ ⟹ F ( ω ) = 1 2 π ∫ − ∞ ∞ f ( x ) e − i ω x d x \begin{cases} c_n = \frac{1}{T}\int_{x_0}^{x_0+T}f(x)\cdot e^{-i\frac{2\pi nx}{T}}dx \\ T = \infty \end{cases} \Longrightarrow F(\omega) = \frac{1}{2\pi}\int_{-\infty}^{\infty}f(x)e^{-i\omega x}dx {cn=T1x0x0+Tf(x)eiT2πnxdxT=F(ω)=2π1f(x)eiωxdx
    F ( ω ) F(\omega) F(ω)就是傅里叶变换,得到的就是频域曲线

    f ( x ) f(x) f(x) F ( ω ) F(\omega) F(ω)二者成为傅里叶变换对,可以相互转换:
    F ( ω ) = ∫ − ∞ ∞ f ( t ) e − j ω t d t    ⟺    f ( t ) = 1 2 π ∫ − ∞ ∞ F ( ω ) e j ω t d ω F(\omega)=\int_{-\infty}^{\infty}f(t)e^{-j\omega t}dt \iff f(t) = \frac{1}{2\pi}\int_{-\infty}^{\infty}F(\omega)e^{j\omega t}d\omega F(ω)=f(t)ejωtdtf(t)=2π1F(ω)ejωtdω
    ​ 可以这么说,二者是同一个数学对象的两种形式,一个是函数,一个是向量。

    傅里叶变换的性质及其应用举例

    连续傅里叶变换的一些性质

    1. 模、幅度函数、相角
      F ( u ) = R ( u ) + j I ( u ) = ∣ F ( u ) ∣ e j ϕ ( u ) F(u) = R(u)+jI(u)=|F(u)|e^{j\phi(u)} F(u)=R(u)+jI(u)=F(u)ejϕ(u)
      模: F ( u ) = R 2 ( u ) + I 2 ( u ) F(u)=\sqrt{R^2(u)+I^2(u)} F(u)=R2(u)+I2(u) (也称为幅度函数,傅里叶谱,频谱)

    相角: ϕ ( u ) = t a n − 1 [ I ( u ) R ( u ) ] \phi(u)=tan^{-1}[\frac{I(u)}{R(u)}] ϕ(u)=tan1[R(u)I(u)]

    函数 f ( x ) f(x) f(x):

    在这里插入图片描述

    幅度函数:

    在这里插入图片描述

    1. 双变量函数 f ( x , y ) f(x,y) f(x,y)的傅里叶变换
      ℑ { f ( x , y ) } = F ( u , v ) ℑ − 1 { F ( u , v ) } = f ( x , y ) \Im\{f(x,y)\} = F(u,v)\\ \Im^{-1}\{F(u,v)\} = f(x,y) {f(x,y)}=F(u,v)1{F(u,v)}=f(x,y)

    2. 对称性

    傅里叶变换后得到实奇部与虚偶部: F ( u ) = F e ( u ) − j F o ( u ) F(u) = F_e(u)-jF_o(u) F(u)=Fe(u)jFo(u)

    F ( u ) F(u) F(u)具有共轭对称性 F ( u ) = F ∗ ( − u ) F(u) = F^*(-u) F(u)=F(u)

    1. 加法原理
      ℑ { f ( x ) + g ( x ) } = F ( u ) + G ( u ) \Im\{f(x)+g(x)\} = F(u)+G(u) {f(x)+g(x)}=F(u)+G(u)
      且由加法定义可推出:
      ℑ { c f ( x ) } = c F ( u ) \Im\{cf(x)\} = cF(u) {cf(x)}=cF(u)
      图像展示:

    在这里插入图片描述

    1. 平移原理
      ℑ { f ( x − a ) } = e j 2 π u a F ( u ) \Im\{f(x-a)\}=e^{j2\pi ua}F(u) {f(xa)}=ej2πuaF(u)

    2. 相似性原理(展缩性质)
      ℑ { f ( a x } = 1 ∣ a ∣ F ( u a ) \Im\{f(ax\}=\frac{1}{|a|}F(\frac{u}{a}) {f(ax}=a1F(au)
      图像展示:

    在这里插入图片描述

    1. Rayleigh’s原理

    e n e r g y = ∫ − ∞ ∞ ∣ f ( x ) ∣ 2 d x = ∫ − ∞ ∞ ∣ F ( u ) ∣ 2 d u energy = \int_{-\infty}^{\infty}|f(x)|^{2}dx = \int_{-\infty}^{\infty}|F(u)|^2du energy=f(x)2dx=F(u)2du

    离散傅里叶变换的一些性质

    1. 可分离性
      F ( u , v ) = 1 N ∑ x = 0 N − 1 e − j 2 π u x / N ⋅ ∑ y = 0 N − 1 f ( x , y ) e − j 2 π v y / N f ( x , y ) = 1 N ∑ u = 0 N − 1 e − j 2 π u x / N ⋅ ∑ v = 0 N − 1 F ( u , v ) e − j 2 π v y / N F(u,v) = \frac{1}{N}\sum_{x=0}^{N-1}e^{-j2\pi ux/N}\cdot\sum_{y=0}^{N-1}f(x,y)e^{-j2\pi vy/N}\\f(x,y) = \frac{1}{N}\sum_{u=0}^{N-1}e^{-j2\pi ux/N}\cdot\sum_{v=0}^{N-1}F(u,v)e^{-j2\pi vy/N} F(u,v)=N1x=0N1ej2πux/Ny=0N1f(x,y)ej2πvy/Nf(x,y)=N1u=0N1ej2πux/Nv=0N1F(u,v)ej2πvy/N

    2. 线性性质
      ℑ { a f ( x , y ) + b g ( x , y ) } = a ℑ { f ( x , y ) } + b ℑ { g ( x , y ) } \Im\{af(x,y)+bg(x,y)\} = a\Im\{f(x,y)\}+b\Im\{g(x,y)\} {af(x,y)+bg(x,y)}=a{f(x,y)}+b{g(x,y)}

    3. 比例性
      ℑ { f ( a x , b y ) } = 1 ∣ a b ∣ F ( u a , v b ) \Im\{f(ax,by)\} = \frac{1}{|ab|}F(\frac{u}{a},\frac{v}{b}) {f(ax,by)}=ab1F(au,bv)

    4. 周期性
      F ( u ) = F ( u + N ) F(u) = F(u+N) F(u)=F(u+N)

    快速傅里叶变换

    ​ 利用共轭性质将逆离散傅里叶变换变为其共轭数的正离散傅里叶变换。

    傅里叶变换应用举例

    ​ 图(a)为一幅受正弦干扰模式覆盖的图像。 图(b)是(a)的傅立叶频谱幅度图, 其上有一对较明显的脉冲白点(正交分解后便于处理)。利用带阻滤波器除掉亮点。然后取傅立叶反变换,就可得到图(d)和 (f)所示的恢复效果。

    在这里插入图片描述


    Z变换

    Z变换的引入原因及其定义

    ​ 首先,我们先来看看Z变换的定义:

    ​ 序列 x ( n ) x(n) x(n) z z z变换 X ( z ) X(z) X(z)定义为:
    X ( z ) = ∑ n = − ∞ ∞ x ( n ) z − n X(z) = \sum_{n = -\infty}^{\infty}x(n)z^{-n} X(z)=n=x(n)zn
    ​ 表达式中的 z z z是可由我们自由选取的,因此,通过改变 z z z的值,我们总能够找到一个 z z z使得 ∑ n = − ∞ ∞ ∣ x ( n ) ∣ z − n < ∞ \sum_{n = -\infty}^{\infty}|x(n)|z^{-n}<\infty n=x(n)zn<成立,即使 X ( z ) X(z) X(z)这个级数收敛。对给定的序列,使z变换收敛的那些 z z z值就称为z变换的收敛域,缩写ROC。

    ​ 同理我们可以知道,无穷项之和不可能总是有限的,因此傅里叶变换的幂级数不是对所以序列都收敛。这也就是我们引入Z变换的原因——傅里叶变换不是对所有序列都收敛,因此我们需要一个能包括更广泛信号的傅里叶变换的推广形式——Z变换。

    ​ 下面来介绍一些常见的基本Z变换:

    1. 离散冲激信号: δ ( n ) \delta(n) δ(n)
      X ( z ) = ∑ n = 0 ∞ δ ( n ) z − n = 1 X(z)=\sum_{n=0}^{\infty}\delta(n)z^{-n}=1 X(z)=n=0δ(n)zn=1

    2. 阶跃信号: u ( n ) u(n) u(n)( ∣ z ∣ > 1 |z|>1 z>1才能收敛)
      X ( z ) = ∑ n = 0 ∞ u ( n ) z − n = z z − 1 X(z) = \sum_{n=0}^{\infty}u(n)z^{-n} = \frac{z}{z-1} X(z)=n=0u(n)zn=z1z

    3. 斜线信号: x ( n ) = n u ( n ) x(n) = n u(n) x(n)=nu(n)
      X ( z ) = ∑ n = 0 ∞ n z − n = z ( z − 1 ) 2 X(z) = \sum_{n=0}^{\infty}nz^{-n}=\frac{z}{(z-1)^2} X(z)=n=0nzn=(z1)2z

    4. 指数序列: x ( n ) = a n u ( n ) x(n) = a^nu(n) x(n)=anu(n)( ∣ z ∣ > ∣ a ∣ |z|>|a| z>a才能收敛)
      X ( z ) = ∑ n = 0 ∞ a n z − n = z z − a X(z) = \sum_{n=0}^{\infty}a^nz^{-n} = \frac{z}{z-a} X(z)=n=0anzn=zaz

    Z变换的性质及其应用

    Z变换的一些性质

    1. 线性

      x ( n ) x(n) x(n)的Z变换为 X ( z ) X(z) X(z) y ( n ) y(n) y(n)的Z变换为 Y ( z ) Y(z) Y(z)

      a ⋅ x ( n ) + b ⋅ y ( n ) a\cdot x(n) + b\cdot y(n) ax(n)+by(n)的Z变换为 a ⋅ X ( z ) + b ⋅ Y ( z ) a\cdot X(z) + b\cdot Y(z) aX(z)+bY(z)

    2. 时移

      x ( n ) x(n) x(n)的Z变换为 X ( z ) X(z) X(z)

      x ( n − m ) x(n-m) x(nm)的Z变换为 z − m ∗ X ( z ) z^{-m}*X(z) zmX(z)

    3. 初值定理

      x ( n ) x(n) x(n)的Z变换为 X ( z ) X(z) X(z)

      x ( 0 ) = lim ⁡ z → ∞ X ( z ) x(0) = \lim_{z\to \infty}X(z) x(0)=limzX(z)

    4. Z域微分

      x ( n ) x(n) x(n)的Z变换为 X ( z ) X(z) X(z)

      n x ( n ) nx(n) nx(n)的Z变换为 − z d [ X ( z ) ] d z -z\frac{d[X(z)]}{dz} zdzd[X(z)]

    5. 终值定理

      x ( n ) x(n) x(n)的Z变换为 X ( z ) X(z) X(z)

      则:
      lim ⁡ n → ∞ x ( n ) = lim ⁡ z → 1 [ ( z − 1 ) X ( z ) ] \lim_{n\to \infty}x(n) = \lim_{z\to1}[(z-1)X(z)] nlimx(n)=z1lim[(z1)X(z)]

    Z变换应用举例——消除匀速直线运动

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    ​ 最终效果:

    在这里插入图片描述

    展开全文
  • NumPy是一个非常有名的 Python 科学计算工具包,其中包含了大量有用的工具,比如数组对象(用来表示向量、矩阵、图像等)以及线性代数函数。 数组对象可以实现数组中重要的操作,比如矩阵乘积、转置、解方程系统、向量...
  • 3D 空间坐标变换 该文件夹包含 3 个文件(m-functions): - t2x.m 转换矩阵到广义位置向量。 - x2t.m 转换矩阵的广义位置向量。 - 坐标变化的 m2m.m 质量/惯性张量转换。 在广义位置向量中,方向可以表示为: - ...
  • 应用于对象几何描述并改变它的位置、方向或大小的操作称为几何变换。 几何变换有时也称为建模变换。建模变换一般用于构造场景或给出由多个部分组合而成的复杂对象的层次式描述等。
  • matlab离散傅里叶变换平滑代码令人敬畏的地理空间 数据库 -PostgreSql空间扩展。 -一组PostgreSQL函数,...该数据库模型包含语义丰富,层次结构化的多尺度城市对象,可简化复杂的GIS建模和分析任务,而不仅仅是可视化。
  • FUN = INVLAPFUN(B,A) 返回一个函数句柄,用于评估与拉普拉斯变换 B(s)/A(s) 关联的时间函数 FUN(t),其中 B 和 A 是包含多项式系数的相应行向量。 FUN = INVLAPFUN(TF) 使用 Control Toolbox 传递函数对象 TF。 ...
  • 第二部分将讲解图像运算和图像增强,上一篇文章是图像点运算的灰度化处理知识,包括各种灰度算法的实现,以及灰度线性变换和灰度非线性变换。这篇文章将详细讲解图像灰度线性变换包括灰度上移、对比度增强、对比度...
  • 傅里叶反变换matlab代码简单FFT 仅标头的C ++库,实现了1D,2D和3D数据的快速傅里叶变换。 这是什么 简单FFT是实现快速傅立叶变换...说了我的数组不是太大,我仍然希望将数据复制到库中使用的类型的对象的开销很小或没
  • Buck 型变换包括Buck 变换器及其衍生的全桥变换器。文中以Buck 型变换器为控制对象,给出了频域补偿设计中模拟PID 控制器的零极点配置原则,实现了其比例、积分、微分系数的整定。在此基础上,运用连续系统离散化...
  • 该工具箱提供了一组用于建模 3-D 刚性运动的函数,包括欧拉角、旋转和齐次矩阵、四元数和对偶四元数,以及轴/角度表示。 在使用工具箱之前,您应该运行脚本: >> 设置__机器人_工具箱这将暂时修复您的路径以包含所有...
  • 我们考虑了AdS4中A型高旋转引力和自由U(N)矢量模型之间的全息对偶性。 总体上讲,线性化解可以... 表现出这些“平方根”时空对称性的对象成为我们边界/扭转变换的核心,而原始的Penrose变换被确定为CPT的“平方根”。
  • 最近在做图像去噪方面涉及到二维空间变换,在此总结 二维空间变换1.综述2.平移仿射变换举例Step 1: 导入要变换的图像Step 2: 定义空间变换Step 3: 创建TFORM结构体Step 4: 执行变换Step 5: 观察输出图像3.定义空间...
  • SVG的视窗位置一般是由CSS指定,尺寸由SVG元素的属性width和height设置,但是如果SVG是存储在embedded对象中(例如object元素,或者其他SVG元素),而且包含SVG的文档是用CSS或者XSL格式化的,并且这些外围对象的CSS...
  • 快速傅里叶变换在信号处理中的应用

    万次阅读 多人点赞 2018-09-12 16:41:09
    傅里叶变换FT(Fourier Transform)是一种将信号从时域变换到频域的变换形式。它在声学、信号处理等领域有广泛的应用。计算机处理信号的要求是:在时域和频域都应该是离散的,而且都应该是有限长的。而傅里叶变换仅...
  • 矩阵可以选择同步画布 2D 上下文对象,以便画布上的变换与像素完美匹配 Matrix 对象的局部变换。 使用 toCSS() 也可以同步一个 DOM 元素。 没有依赖性。 现在还包括一个矢量反射方法(参见包含的演示示例用法)...
  • 从红外遥感辐射传输理论出发,利用二流近似方法,建立了包含散射影响的生物气溶胶被动红外探测模型;从理论上阐明了气溶胶对四周辐射的散射对生物气溶胶被动红外探测的影响。以某微生物孢子气溶胶为对象开展探测原理...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 139,044
精华内容 55,617
关键字:

对象的变换包括哪些