频域滤波—正交变换

图像正交变换的本质

图像是由许多点冲激函数的累加,图像通过处理系统的效果就是每一点冲激函数通过处理系统的效果之和。同时任何图像都可以分解为基图像之和,基图像之间是相互正交的,图像正交变换的本质就是寻找合适的基图像来表达图像,并通过改变基矢量及其加权系数来变换图像。

图像的正交变换一般分为三大类:

  1. 正弦余弦型变换
  2. 方波型变换
  3. 基于特征向量的变换

一些经典变换的总结:

变换变换的特点及其经典应用范围
傅里叶变换需要进行复数运算,物理意义明确。其二维变换可分离,具有快速算法。可把整幅图像的信息很好地用若干个频率系数来表达
余弦变换准最佳变换。其二维变换可分离,具有快速算法,只要求三角函数运算,运算量比傅里叶变换小一半。在高相关性图像的处理中,最接近最佳的K-L变换。信息压缩效果好
沃尔什变换只需要进行实数计算,具有快速算法,性能优于傅里叶变换
哈达玛变换在图像处理算法的硬件实现上很实用,容易模拟但不宜分析。信息压缩效果好
K-L变换在许多意义下是最佳的,但是无快速算法,对彩色图像或人脸图像这类特征图像十分有效
冲激函数

冲激函数通常也称冲激、 δ \delta δ函数或狄克拉 δ \delta δ函数,实际上冲激函数是线性泛函,不是普通函数,可以认为它是在零点无穷大,其他点为零的一个分布: δ ( t ) = { ∞ , t=0 0 , t ≠  0 \delta(t)=\begin{cases} \infty, & \text{t=0} \\ 0, & \text{t$\neq$ 0} \end{cases} δ(t)={,0,t=0t̸= 0,且该函数满足等式 ∫ − ∞ ∞ δ ( t ) d t = 1 \int_{-\infty}^{\infty}\delta(t)\text{d}t=1 δ(t)dt=1

在这里插入图片描述

基函数和基图像

变换核矩阵的各行构成了 N N N维矢量空间的一组基矢量,这些行是正交的,因此空间中任一矢量都可以用单位长度基矢量的加权和来表示。

具体来说就是数字图像可以表示为按行串接的矢量,该矢量可以表示成单位基矢量的加权和,权重为像素的强度值,即: f = [ f 0 f 1 ⋮ f N 2 − 1 ] = f 0 [ 1 0 ⋮ 0 ] + f 1 [ 0 1 ⋮ 0 ] + . . . + f N 2 − 1 [ 0 0 ⋮ 1 ] f=\begin{bmatrix}f_0 \\ f_1 \\ \vdots \\ f_{N^2-1} \\ \end{bmatrix}=f_0\begin{bmatrix}1 \\ 0 \\ \vdots \\ 0 \\ \end{bmatrix}+f_1\begin{bmatrix}0 \\ 1 \\ \vdots \\ 0 \\ \end{bmatrix}+...+f_{N^2-1}\begin{bmatrix}0 \\ 0 \\ \vdots \\ 1 \\ \end{bmatrix} f=f0f1fN21=f0100+f1010+...+fN21001 = f 0 e 0 + f 1 e 1 + . . . + f N 2 − 1 e N 2 − 1 = ∑ i = 0 N 2 − 1 f i e i =f_0e_0+f_1e_1+...+f_{N^2-1}e_{N^2-1}=\sum_{i=0}^{N^2-1}f_ie_i =f0e0+f1e1+...+fN21eN21=i=0N21fiei其中 e i e_i ei N 2 N^2 N2维空间上的正交矢量,即单位基矢量; f i f_i fi为加权系数

实际上任何以矩阵表示的图像都可以看做是加权系数为图像像素值 f ( i , j ) f(i,j) f(i,j)的一系列加权和,例如: f = [ 7 3 2 5 ] = 7 [ 1 0 0 0 ] + 3 [ 0 1 0 0 ] + 2 [ 0 0 1 0 ] + 5 [ 0 0 0 1 ] f=\begin{bmatrix}7 & 3 \\ 2 & 5 \\ \end{bmatrix}=7\begin{bmatrix}1 & 0 \\ 0 & 0 \\ \end{bmatrix}+3\begin{bmatrix}0 & 1 \\ 0 & 0 \\ \end{bmatrix}+2\begin{bmatrix}0 & 0 \\ 1 & 0 \\ \end{bmatrix}+5\begin{bmatrix}0 & 0 \\ 0 & 1 \\ \end{bmatrix} f=[7235]=7[1000]+3[0010]+2[0100]+5[0001] e 0 = [ 1 0 ] e_0=\begin{bmatrix}1 \\ 0 \\ \end{bmatrix} e0=[10], e 1 = [ 0 1 ] e_1=\begin{bmatrix}0 \\ 1\\ \end{bmatrix} e1=[01],则有: e 0 e 0 T = [ 1 0 ] [ 1 0 ] T = [ 1 0 0 0 ] e_0e_0^T=\begin{bmatrix}1 \\ 0 \\ \end{bmatrix}\begin{bmatrix}1 \\ 0 \\ \end{bmatrix}^T=\begin{bmatrix}1 & 0 \\ 0 & 0 \\ \end{bmatrix} e0e0T=[10][10]T=[1000] e 0 e 1 T = [ 0 1 0 0 ] , e 1 e 0 T = [ 0 0 1 0 ] , e 1 e 1 T = [ 0 0 0 1 ] e_0e_1^T=\begin{bmatrix}0 & 1 \\ 0 & 0 \\ \end{bmatrix},e_1e_0^T=\begin{bmatrix}0 & 0 \\ 1 & 0 \\ \end{bmatrix},e_1e_1^T=\begin{bmatrix}0 & 0 \\ 0 & 1 \\ \end{bmatrix} e0e1T=[0010],e1e0T=[0100],e1e1T=[0001]这时, f f f可以表示为: f = 7 e 0 e 0 T + 3 e 0 e 1 T + 2 e 1 e 0 T + 5 e 1 e 1 T f=7e_0e_0^T+3e_0e_1^T+2e_1e_0^T+5e_1e_1^T f=7e0e0T+3e0e1T+2e1e0T+5e1e1T
对于 N ∗ N N*N NN的图像阵列,有: f = f ( 0 , 0 ) e 0 e 0 T + f ( 0 , 1 ) e 0 e 1 T + . . . + f ( i , j ) e i e j T + . . . + f ( N − 1 , N − 1 ) e N − 1 e N − 1 T f=f(0,0)e_0e_0^T+f(0,1)e_0e_1^T+...+f(i,j)e_ie_j^T+...+f(N-1,N-1)e_{N-1}e_{N-1}^T f=f(0,0)e0e0T+f(0,1)e0e1T+...+f(i,j)eiejT+...+f(N1,N1)eN1eN1T = ∑ i = 0 N − 1 ∑ j = 0 N − 1 f ( i , j ) e i e j T =\sum_{i=0}^{N-1}\sum_{j=0}^{N-1}f(i,j)e_ie_j^T =i=0N1j=0N1f(i,j)eiejT其中基向量 e i e_i ei e j e_j ej为单位列向量,仅第 i + 1 i+1 i+1个元素为1,其余全为0,例如 e 1 = [ 0 1 ⋯ 0 ] T e_1=\begin{bmatrix}0 & 1 & \cdots & 0\\ \end{bmatrix}^T e1=[010]T,因此基图像 e i e j T e_ie_j^T eiejT就表示了仅1个非0元素的系数矩阵。

任何图像都可以看做是加权系数为图像像素值 f ( i , j ) f(i,j) f(i,j)的一系列单位基图像的加权和。

一维正交变换

线性变换

t t t为一个 N ∗ 1 N*1 N1向量, T T T为一个 N ∗ N N*N NN矩阵, T T T作用于列向量 f ( x ) f(x) f(x)得到列向量 F F F,这就定义了向量 t t t的一个线性变换,表达为: F ( μ ) = ∑ x = 0 N − 1 f ( x ) g ( x , μ ) , μ ∈ [ 0 , N − 1 ] F(\mu)=\sum_{x=0}^{N-1}f(x)g(x,\mu),\mu\in[0,N-1] F(μ)=x=0N1f(x)g(x,μ),μ[0,N1]其矩阵形式为: F = T f ( x ) F=Tf(x) F=Tf(x)其中, f ( x ) f(x) f(x)称为冲激 g ( t , μ ) g(t,\mu) g(t,μ)称为正变换核函数冲激响应,矩阵 T T T称为变换的核矩阵变换矩阵

对该线性变换的逆变换为: f ( x ) = ∑ μ = 0 N − 1 F ( μ ) h ( x , μ ) , x ∈ [ 0 , N − 1 ] f(x)=\sum_{\mu=0}^{N-1}F(\mu)h(x,\mu),x\in[0,N-1] f(x)=μ=0N1F(μ)h(x,μ),x[0,N1]其矩阵形式为: f ( x ) = F T − 1 f(x)=FT^{-1} f(x)=FT1其中, h ( t , μ ) h(t,\mu) h(t,μ)称为逆变换核函数,矩阵 T − 1 T^{-1} T1称为逆变换的核矩阵或变换矩阵。

显然有: T T − 1 = E TT^{-1}=E TT1=E

例如: 平面坐标系中的向量旋转变换
[ y 1 y 2 ] = [ cos ⁡ θ − sin ⁡ θ sin ⁡ θ cos ⁡ θ ] [ x 1 x 2 ] \begin{bmatrix} y_1 \\ y_2 \\ \end{bmatrix}=\begin{bmatrix} \cos\theta & -\sin\theta\\ \sin\theta & \cos\theta\\ \end{bmatrix}\begin{bmatrix} x_1 \\ x_2 \\ \end{bmatrix} [y1y2]=[cosθsinθsinθcosθ][x1x2]可表示为: y = T x y=Tx y=Tx其中 T = [ cos ⁡ θ − sin ⁡ θ sin ⁡ θ cos ⁡ θ ] T=\begin{bmatrix} \cos\theta & -\sin\theta\\ \sin\theta & \cos\theta\\ \end{bmatrix} T=[cosθsinθsinθcosθ],该矩阵表达式的展开式为: { y 1 = x 1 cos ⁡ θ − x 2 sin ⁡ θ y 2 = x 1 sin ⁡ θ + x 2 cos ⁡ θ \begin{cases} y_1=x_1\cos\theta-x_2\sin\theta\\ y_2=x_1\sin\theta+x_2\cos\theta \end{cases} {y1=x1cosθx2sinθy2=x1sinθ+x2cosθ若将 T T T抽象表达为 T = [ a 11 a 12 a 21 a 22 ] T=\begin{bmatrix} a_{11} & a_{12}\\ a_{21} & a_{22}\\ \end{bmatrix} T=[a11a21a12a22],则展开式可以表达为: { y 1 = x 1 a 11 + x 2 a 12 y 2 = x 1 a 21 + x 2 a 22 \begin{cases} y_1=x_1a_{11}+x_2a_{12}\\ y_2=x_1a_{21}+x_2a_{22} \end{cases} {y1=x1a11+x2a12y2=x1a21+x2a22,简化得: y i = ∑ i = 1 2 x i a j , i , j ∈ [ 1 , 2 ] y_i=\sum_{i=1}^{2}x_ia_{j,i},j\in[1,2] yi=i=12xiaj,ij[1,2]

酉变换与正交性

T T T的逆变换等于其复数矩阵共轭的转置时,称该线性变换为酉变换,表示为: T − 1 = ( T ∗ ) T = ( T ∗ ) ′ T^{-1}=(T^{*})^T=(T^{*})' T1=(T)T=(T) T T − 1 = T ( T ∗ ) ′ = E TT^{-1}=T(T^*)'=E TT1=T(T)=E

T T T为实数矩阵时,实数的共轭等于实数本身,此时酉变换就称为正交变换,表示为: T − 1 = T ′ T^{-1}=T' T1=T,于是显然有: T T ′ = E TT'=E TT=E

在正交变换中, T T T的每一行称为该正交变换的正交基

例如: 设有矩阵 A = [ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a n 1 a n 2 ⋯ a n n ] A=\begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1n}\\ a_{21} & a_{22} & \cdots & a_{2n}\\ \vdots & \vdots & \ddots & \vdots\\ a_{n1} & a_{n2} & \cdots & a_{nn}\\ \end{bmatrix} A=a11a21an1a12a22an2a1na2nann,若有 A A A的变换为正交变换

则有 A A A的共轭转置: A ′ = A T = [ a 11 a 21 ⋯ a n 1 a 12 a 22 ⋯ a n 2 ⋮ ⋮ ⋱ ⋮ a 1 n a 2 n ⋯ a n n ] A'=A^T=\begin{bmatrix} a_{11} & a_{21} & \cdots & a_{n1}\\ a_{12} & a_{22} & \cdots & a_{n2}\\ \vdots & \vdots & \ddots & \vdots\\ a_{1n} & a_{2n} & \cdots & a_{nn}\\ \end{bmatrix} A=AT=a11a12a1na21a22a2nan1an2ann A A A中的 n n n个正交基表示为: a 1 = [ a 11 a 21 ⋮ a n 1 ] a_1=\begin{bmatrix} a_{11} \\ a_{21} \\ \vdots \\ a_{n1} \\ \end{bmatrix} a1=a11a21an1 a 2 = [ a 12 a 22 ⋮ a n 2 ] a_2=\begin{bmatrix} a_{12} \\ a_{22} \\ \vdots \\ a_{n2} \\ \end{bmatrix} a2=a12a22an2,…, a n = [ a 1 n a 2 n ⋮ a n n ] a_n=\begin{bmatrix}a_{1n} \\ a_{2n} \\ \vdots \\ a_{nn} \\ \end{bmatrix} an=a1na2nann

矩阵 A A A用正交基表示为: A = [ a 1 a 2 ⋯ a n ] A=\begin{bmatrix} a_1 & a_2 & \cdots & a_n \\ \end{bmatrix} A=[a1a2an] a i ′ = a i T = [ a 1 i a 2 i ⋯ a n i ] T a_i'=a_i^T=\begin{bmatrix} a_{1i} & a_{2i} & \cdots & a_{ni} \\ \end{bmatrix}^T ai=aiT=[a1ia2iani]T正交变换表示为: a i ′ a j = ∑ k = 1 n a k i a k j = { c , i=j 0 , i ≠ j a'_ia_j=\sum_{k=1}^{n}a_{ki}a_{kj}=\begin{cases} c, \text{i=j}\\ 0, \text{i$\neq$j} \end{cases} aiaj=k=1nakiakj={c,i=j0,i̸=j当取 c = 1 c=1 c=1时,该正交变换称为归一化正交变换

完备性

一个实值函数 f ( x ) f(x) f(x),可表示为: f ( x ) = ∑ n = 0 ∞ a n μ n ( x ) f(x)=\sum_{n=0}^{\infty}a_n\mu_n(x) f(x)=n=0anμn(x)其中 μ n ( x ) \mu_n(x) μn(x)为一组函数集, a n a_n an为加权系数

f ( x ) f(x) f(x)是平方可积的分段连续函数, ϵ \epsilon ϵ表示无穷小量时,若总存在一个正整数 N N N使得 ∫ − ∞ ∞ ∣ f ( x ) − f ^ ( x ) ∣ 2 d x &lt; ϵ \int_{-\infty}^{\infty}|f(x)-\hat f(x)|^2\text{d}x &lt; \epsilon f(x)f^(x)2dx<ϵ其中 f ^ ( x ) \hat f(x) f^(x) f ( x ) f(x) f(x)的估计值: f ^ ( x ) = ∑ n = 0 N − 1 a n μ n ( x ) \hat f(x)=\sum_{n=0}^{N-1}a_n\mu_n(x) f^(x)=n=0N1anμn(x)则称 μ n ( x ) \mu_n(x) μn(x)函数集是完备的。完备则意味着定义域中任何 f ( x ) f(x) f(x)均能用 μ n ( x ) \mu_n(x) μn(x)函数集表示。

一般来说,满足了正交性完备性这两个条件的函数集合或矩阵才能用于图像处理与分析。也就是说我们所要寻找的正交变换的基函数一定是正交的,且所有的图像都可以用这个基函数表示。

二维正交变换

二维离散线性变换

二维离散线性变换由以下两个表达式给出:
F ( μ , ν ) = ∑ x = 0 N − 1 ∑ y = 0 N − 1 f ( x , y ) g ( x , y , μ , ν ) , 0 ⩽ μ , ν ⩽ N − 1 F(\mu,\nu)=\sum_{x=0}^{N-1}\sum_{y=0}^{N-1}f(x,y)g(x,y,\mu,\nu),0\leqslant \mu,\nu\leqslant N-1 F(μ,ν)=x=0N1y=0N1f(x,y)g(x,y,μ,ν),0μ,νN1 f ( x , y ) = ∑ μ = 0 N − 1 ∑ ν = 0 N − 1 F ( μ , ν ) h ( x , y , μ , ν ) , 0 ⩽ x , y ⩽ N − 1 f(x,y)=\sum_{\mu=0}^{N-1}\sum_{\nu=0}^{N-1}F(\mu,\nu)h(x,y,\mu,\nu),0\leqslant x,y\leqslant N-1 f(x,y)=μ=0N1ν=0N1F(μ,ν)h(x,y,μ,ν),0x,yN1其中, g ( x , y , μ , ν ) g(x,y,\mu,\nu) g(x,y,μ,ν)称为正变换核函数 N 2 ∗ N 2 N^2*N^2 N2N2阶的正变换核矩阵 h ( x , y , μ , ν ) h(x,y,\mu,\nu) h(x,y,μ,ν)称为逆变换核函数 N 2 ∗ N 2 N^2*N^2 N2N2阶的逆变换核矩阵

若核函数满足: g ( x , y , μ , ν ) = P ( x , μ ) Q ( y , ν ) g(x,y,\mu,\nu)=P(x,\mu)Q(y,\nu) g(x,y,μ,ν)=P(x,μ)Q(y,ν) h ( x , y , μ , ν ) = R ( x , μ ) S ( y , ν ) h(x,y,\mu,\nu)=R(x,\mu)S(y,\nu) h(x,y,μ,ν)=R(x,μ)S(y,ν)则称核函数是可分离的,核函数的可分离性质使得二维变换可以分步计算、降低计算的复杂度。分步计算步骤如下:

  • 首先沿 f ( x , y ) f(x,y) f(x,y) y y y方向做一维变换,有 F ( x , ν ) = ∑ y = 0 N − 1 f ( x , y ) Q ( y , ν ) , 0 ⩽ x , ν ⩽ N − 1 F(x,\nu)=\sum_{y=0}^{N-1}f(x,y)Q(y,\nu),0\leqslant x,\nu\leqslant N-1 F(x,ν)=y=0N1f(x,y)Q(y,ν)0x,νN1
  • 然后沿 F ( x , ν ) F(x,\nu) F(x,ν) x x x方向做一维变换,得到: F ( μ , ν ) = ∑ x = 0 N − 1 F ( x , ν ) P ( x , μ ) , 0 ⩽ μ , ν ⩽ N − 1 F(\mu,\nu)=\sum_{x=0}^{N-1}F(x,\nu)P(x,\mu),0\leqslant\mu,\nu\leqslant N-1 F(μ,ν)=x=0N1F(x,ν)P(x,μ)0μ,νN1

若可分离核函数满足 P ( x , μ ) = Q ( y , ν ) P(x,\mu)=Q(y,\nu) P(x,μ)=Q(y,ν),则该可分离核函数是加法对称的,即 x x x y y y两个方向上的变化一致。

因此可分离的二维离散线性变换的表达式可以表示为: F ( μ , ν ) = ∑ y = 0 N − 1 [ ∑ x = 0 N − 1 P ( x , μ ) f ( x , y ) ] Q ( y , ν ) , 0 ⩽ μ , ν ⩽ N − 1 F(\mu,\nu)=\sum_{y=0}^{N-1}[\sum_{x=0}^{N-1}P(x,\mu)f(x,y)]Q(y,\nu),0\leqslant \mu,\nu\leqslant N-1 F(μ,ν)=y=0N1[x=0N1P(x,μ)f(x,y)]Q(y,ν)0μ,νN1若图像向量 f f f是由基矢量 f i f_i fi串接形成的,对应的正变换矩阵为: F = P f Q T F=PfQ^T F=PfQT若图像向量 f f f是由基矢量 f i f_i fi串接形成的,对应的正变换矩阵为: F = Q f P T F=QfP^T F=QfPT

二维离散线性变换的基图像

对于二维离散线性变换 f ( x , y ) = ∑ μ = 0 N − 1 ∑ ν = 0 N − 1 F ( μ , ν ) h ( x , y , μ , ν ) , 0 ⩽ x , y ⩽ N − 1 f(x,y)=\sum_{\mu=0}^{N-1}\sum_{\nu=0}^{N-1}F(\mu,\nu)h(x,y,\mu,\nu),0\leqslant x,y\leqslant N-1 f(x,y)=μ=0N1ν=0N1F(μ,ν)h(x,y,μ,ν),0x,yN1其变换核矩阵 h ( x , y , μ , ν ) h(x,y,\mu,\nu) h(x,y,μ,ν)可以将其视为一幅图像,称其为基图像。任何一个图像 f ( x , y ) f(x,y) f(x,y)都可以表示为基图像 h ( x , y , μ , ν ) h(x,y,\mu,\nu) h(x,y,μ,ν)的线性组合,其中 F ( μ , ν ) F(\mu,\nu) F(μ,ν)为加权系数。

对另一个表达式 F ( μ , ν ) = ∑ x = 0 N − 1 ∑ y = 0 N − 1 f ( x , y ) g ( x , y , μ , ν ) , 0 ⩽ μ , ν ⩽ N − 1 F(\mu,\nu)=\sum_{x=0}^{N-1}\sum_{y=0}^{N-1}f(x,y)g(x,y,\mu,\nu),0\leqslant \mu,\nu\leqslant N-1 F(μ,ν)=x=0N1y=0N1f(x,y)g(x,y,μ,ν),0μ,νN1同理。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白水baishui

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值