Gonzalez R. C. and Woods R. E. Digital Image Processing (Forth Edition)

基本

酉变换

一维的变换:

\[\mathbf{t} = \mathbf{A} \mathbf{f}, \\
\mathbf{f} = \mathbf{A}^{H} \mathbf{t}, \\
\mathbf{A}^H = {\mathbf{A}^*}^{T}, \mathbf{A}^H\mathbf{A} = \mathbf{I}.
\]

以及二维的变换:

\[\mathbf{T} = \mathbf{A} \mathbf{F} \mathbf{B}^T, \\
\mathbf{F} = \mathbf{A}^H \mathbf{T} \mathbf{B}^*, \\
\mathbf{A}^H\mathbf{A=I}, \mathbf{B}^{T}\mathbf{B}^* =\mathbf{I}.
\]

以一维的为例, 实际上就是

\[t_u = \sum_{x = 0}^{N-1} f_x s(x, u) = \mathbf{f}^T \mathbf{s}_u, u=0,1,\cdots, N-1,\\
\mathbf{s}_u = [s(0, u), s(1, u), \cdots, s(N-1, u)]^T.
\]

\[\mathbf{A} = [\mathbf{s}_0, \cdots, \mathbf{s}_{N-1}]^{T}.
\]

others

\[\sum_{k=0}^n \sin (kx) = \frac{\cos(\frac{1}{2}x) - \cos (\frac{2n+1}{2}x)}{2 \sin (\frac{x}{2})}, \quad x \in (2K\pi, 2(K+1)\pi)
\]

proof:

\[\begin{array}{ll}
2\sin (\frac{x}{2}) \sum_{k=0}^n \sin (kx)
&=\sum_{k=0}^n [\cos (\frac{2k-1}{2}x) -\cos (\frac{2k+1}{2}x) ]\\
&= \cos(\frac{1}{2}x) - \cos (\frac{2n+1}{2}x).
\end{array}
\]

类似地

\[\sum_{k=0}^n \cos (kx) = \frac{\sin(\frac{2k+1}{2}x) + \sin (\frac{1}{2}x)}{2 \sin (\frac{1}{2}x)}, \quad x \in (2K\pi, 2(K+1)\pi)
\]

proof:

\[\begin{array}{ll}
2\sin (\frac{x}{2}) \sum_{k=0}^n \cos (kx)
&=\sum_{k=0}^n [\sin (\frac{2k+1}{2}x) -\sin (\frac{2k-1}{2}x) ]\\
&= \sin(\frac{2k+1}{2}x) + \sin (\frac{1}{2}x).
\end{array}
\]

Fourier-related Transforms

DFT

\[s(x, u) = \frac{1}{\sqrt{N}} e^{\frac{-j2\pi xu}{N}}
\]

\(\mathbf{s}_u^H \mathbf{s}_u = 1\)是显然的, 又注意到

\[\mathbf{s}_u^H \mathbf{s}_{u'} = \frac{1}{N}\sum_{x=0}^{N-1} e^{\frac{-j2\pi x(u-u')}{N}},
\]

\[\sum_{n=0}^{N-1} a^n = \frac{1-a^N}{1-a},
\]

由于

\[e^{-j2\pi x (u - u')} = 1, \forall u \not = u'.
\]

DHT

DISCRETE HARTLEY TRANSFORM

\[s(x, u) = \frac{1}{\sqrt{N}}\mathrm{cas}(\frac{2\pi xu}{N}) = \frac{1}{\sqrt{N}}[\cos (\frac{2\pi ux}{N}) + \sin (\frac{2\pi ux}{N})].
\]
\[2\cos (\frac{2\pi ux}{N})
\cos (\frac{2\pi u'x}{N})
=\cos (\frac{2\pi (u-u')x}{N})
+\cos (\frac{2\pi (u+u')x}{N}) \\
2\sin (\frac{2\pi ux}{N})
\sin (\frac{2\pi u'x}{N})
=\cos (\frac{2\pi (u-u')x}{N})
-\cos (\frac{2\pi (u+u')x}{N}) \\
2\sin (\frac{2\pi ux}{N})
\cos (\frac{2\pi u'x}{N})
=\sin (\frac{2\pi (u+u')x}{N})
-\sin (\frac{2\pi (u-u')x}{N}) \\
\]

故想要证明其为标准正交基, 只需注意到:

\[\sum_{x=0}^{N-1} \sin (\frac{2\pi k x}{N})
=\frac{\cos(\frac{k\pi}{N}) - \cos (\frac{(2N-1)k\pi}{N})}{...},
\]

\(k\not=0\)的时候, 有

\[\cos (\frac{(2N-1)k\pi}{N}) = \cos (\frac{k\pi}{N}),
\]

\[\sum_{x=0}^{N-1}\sin (\frac{2\pi kx}{N}) =0, k\not=0.
\]

类似可得:

\[\sum_{x=0}^{N-1}\cos (\frac{2\pi kx}{N}) =0, k\not=0.
\]

正交性如此是易证明的, 实际上标准性是显然的.

DCT

DISCRETE COSINE TRANSFORM

\[s(x, u) = \alpha (u) \cos (\frac{(2x + 1)u\pi}{2N}), \\
\alpha (u) =
\left \{
\begin{array}{ll}
\sqrt{\frac{1}{N}}, & u=0, \\
\sqrt{\frac{2}{N}}, & u=1,2,\cdots, N-1. \\
\end{array}
\right .
\]

其标准正交的思路和DHT是如出一辙的.

与DFT的联系

  1. 定义
\[g(x) =
\left \{
\begin{array}{ll}
f(x), & x = 0, 1, \cdots, N-1, \\
f(2N-x-1), & u=N, N+1, \cdots, 2N-1. \\
\end{array}
\right .
\]

此时\(g(x) = g(2N-1-x)\);

  1. 计算DFT
\[\mathbf{t}_F = \mathbf{A}_F \mathbf{g} =
\left [
\begin{array}{c}
\mathbf{t}_1 \\
\mathbf{t}_2 \\
\end{array}
\right ].
\]
  1. 定义
\[h(u) = e^{-j\pi u / 2N}, u=0,1,\cdots, N-1, \\
\mathbf{s} = [1 / \sqrt{2}, 1, 1, \cdots, 1]^T.
\]
\[\mathbf{t}_C = \mathrm{Re}\{\mathbf{s\circ h \circ t_1}\}.
\]

其中\(\mathrm{Re}\)表示实部, \(\circ\)表示逐项乘法.

证明是平凡的.

DST

DISCRETE SINE TRANSFORM

\[s(x, u) = \sqrt{\frac{2}{N+1}} \sin (\frac{(x+1)(u+1)\pi}{N+1}).
\]

与DFT的联系

  1. 定义
\[g(x) =
\left \{
\begin{array}{ll}
0, & x = 0, \\
f(x-1), & x = 1, \cdots, N, \\
0, & x = N + 1, \\
-f(2N-x+1), & u=N+1, \cdots, 2N+1. \\
\end{array}
\right .
\]

此时\(g(x) = -g(2N + 2 - x)\).

  1. DFT
\[\mathbf{t}_F = \mathbf{A}_F \mathbf{g} =
\left [
\begin{array}{c}
0 \\
\mathbf{t}_1 \\
0 \\
\mathbf{t}_2 \\
\end{array}
\right ].
\]
\[\mathbf{t}_S = -\mathrm{Imag}\{\mathbf{t}_1\}.
\]

其中\(\mathrm{Imag}\)表虚部.

DFT, DHT, DCT, DST的更多相关文章

  1. 频域分辨率与DFT,DCT,MDCT理解

    搞了这么久音频算法,有些细节还没有很清楚. 比如DFT和DCT有哪些区别,DFT系数为什么会是对称的,同样帧长的数据,各自的频域分辨率是多少? 今天决定搞清楚这些问题, 首先DFT的系数对称(2N点的 ...

  2. 【转】由DFT推导出DCT

    原文地址:http://blog.sina.com.cn/s/blog_626631420100xvxd.htm 已知离散傅里叶变换(DFT)为: 由于许多要处理的信号都是实信号,在使用DFT时由于傅 ...

  3. FFTW中文参考

    据说FFTW(Fastest Fourier Transform in the West)是世界上最快的FFT.为了详细了解FFTW以及为编程方便,特将用户手册看了一下,并结合手册制作了以下FFTW中 ...

  4. FFTW3学习笔记2:FFTW(快速傅里叶变换)中文参考

    据说FFTW(Fastest Fourier Transform in the West)是世界上最快的FFT.为了详细了解FFTW以及为编程方便,特将用户手册看了一下,并结合手册制作了以下FFTW中 ...

  5. opencv 61篇

    (一)--安装配置.第一个程序 标签: imagebuildincludeinputpathcmd 2011-10-21 16:16 41132人阅读 评论(50) 收藏 举报  分类: OpenCV ...

  6. FFTW简介及使用

    http://fftw.org/ FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) i ...

  7. C++开源库集合

    | Main | Site Index | Download | mimetic A free/GPL C++ MIME Library mimetic is a free/GPL Email lib ...

  8. Discrete cosine transform(离散余弦转换)

    A discrete cosine transform (DCT) expresses a finite sequence of data points in terms of a sum of co ...

  9. [转载] OpenCV2.4.3 CheatSheet学习(二)

    二.矩阵操作(拷贝.洗牌.局部访问): src.copyTo(dst) 把src矩阵中的数据拷贝到dst. src.convertTo(dst, type,scale, shift) 缩放并转换到另外 ...

随机推荐

  1. java Random()用法

    1.random.nextInt() random.nextIn()的作用是随机生成一个int类型,因为int 的取值范围是 -2147483648--2147483647 ,所以生成的数也是处于这个 ...

  2. Vue相关,Vue生命周期及对应的行为

    先来一张经典图 生命钩子函数 使用vue的朋友们知道,生命周期函数长这样- mounted: function() { } // 或者 mounted() { } 注意点,Vue的所有生命周期函数都是 ...

  3. CR LF 的含义

    可以参考: 转载于:https://www.cnblogs.com/babykick/archive/2011/03/25/1995977.html

  4. 【STM32】WS2812介绍、使用SPI+DMA发送数据

    这篇要使用到SPI+DMA,需要了解的话,可以参考我另两篇博客 时钟:https://www.cnblogs.com/PureHeart/p/11330967.html SPI+DMA通信:https ...

  5. Lombok安装及Spring Boot集成Lombok

    文章目录 Lombok有什么用 使用Lombok时需要注意的点 Lombok的安装 spring boot集成Lombok Lombok常用注解 @NonNull @Cleanup @Getter/@ ...

  6. Linux:-e、-d、-f、-L、-r、-w、-x、-s、-h、

    -e filename 如果 filename存在,则为真 -d filename 如果 filename为目录,则为真 -f filename 如果 filename为常规文件,则为真 -L fil ...

  7. 【编程思想】【设计模式】【行为模式Behavioral】中介者模式Mediator

    Python版 https://github.com/faif/python-patterns/blob/master/behavioral/mediator.py #!/usr/bin/env py ...

  8. Google Guava 常用集合方法

    /** * Author: momo * Date: 2018/6/7 * Description: */ public class ListTest { public static void mai ...

  9. JSP中session、cookie和application的使用

    一.session (单用户使用) 1.用处:注册成功后自动登录,登录后记住用户状态等 使用会话对象session实现,一次会话就是一次浏览器和服务器之间的通话,会话可以在多次请求中保存和使用数据. ...

  10. JSP中声明变量、方法

    在JSP页面中声明局部变量,全局变量,方法等 代码示例: <%@ page language="java" contentType="text/html; char ...