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. A Child's History of England.49

    But he was shipwrecked in the Adriatic Sea, and was fain [happy, willing] to pass through Germany, u ...

  2. nodejs-CommonJS规范

    JavaScript 标准参考教程(alpha) 草稿二:Node.js CommonJS规范 GitHub TOP CommonJS规范 来自<JavaScript 标准参考教程(alpha) ...

  3. JavaScript小数、百分数的转换

    百分数转化为小数 function toPoint(percent){ var str=percent.replace("%",""); str= str/10 ...

  4. Maven 目录结构[转载]

    转载至:http://www.cnblogs.com/haippy/archive/2012/07/05/2577233.html Maven 标准目录结构 好的目录结构可以使开发人员更容易理解项目, ...

  5. C++ 数组元素循环右移问题

    这道题要求不用另外的数组,并且尽量移动次数少. 算法思想:设计一个结构体存储数组数据和它应在的索引位置,再直接交换,但是这种方法不能一次性就移动完成,因此再加一个判断条件.等这个判断条件满足后就退出循 ...

  6. DP-Burst Balloons

    leetcode312: https://leetcode.com/problems/burst-balloons/#/description Given n balloons, indexed fr ...

  7. Linux基础命令---echo打印内容到标准输出

    echo echo指令可以输出内容到标准输出,以空白分割字符串,并且后面增加换行. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.Fedora.   1.语法       ec ...

  8. Docker从入门到精通(一)——初识

    1.Docker 是什么? Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容 ...

  9. 03 - Vue3 UI Framework - 首页

    顶部边栏做完了,接下来开始做官网的首页 返回阅读列表点击 这里 创建视图文件夹 让我们先新建一个 src/views 文件夹,用来存放官网的主要视图 然后在该文件夹下新建两个 vue 文件,作为我们的 ...

  10. Linux系统下安装tomcat

    一.前置条件 安装tomcat需要先安装jdk,所以没有安装jdk同学,详见参考文章 二.Linux上安装tomcat 1. 下载Apache tomcat tomcat官网下载地址 在左边,可以选择 ...