Radon变换原理:给定一个函数
f
(
x
,
y
)
f(x, y)
f(x,y),Radon变换将其投影到一组线上,得到一组投影值
p
(
θ
,
s
)
p(\theta, s)
p(θ,s)。其中
θ
\theta
θ表示投影线的角度,
s
s
s表示投影线与原点的距离。具体而言,对于每个角度
θ
\theta
θ,Radon变换将在直线
l
θ
,
s
l_{\theta,s}
lθ,s上对函数
f
(
x
,
y
)
f(x, y)
f(x,y)进行积分,其中
l
θ
,
s
l_{\theta,s}
lθ,s是距离原点为
s
s
s,与
x
x
x轴成
θ
\theta
θ角度的直线。投影值
p
(
θ
,
s
)
p(\theta, s)
p(θ,s)即为积分结果
可以将Radon变换看作是从二维函数到一维函数的映射,其中每个投影值
p
(
θ
,
s
)
p(\theta, s)
p(θ,s)表示了投影线
l
θ
,
s
l_{\theta,s}
lθ,s上的一维信息。因此,Radon变换可以用于从一组投影值中重建原始函数
f
(
x
,
y
)
f(x, y)
f(x,y)。这种逆变换被称为逆Radon变换或反投影
import cv2
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']# Load the image
Image = cv2.imread('block.bmp', cv2.IMREAD_GRAYSCALE)# Perform Radon transform
theta = np.arange(0,181,10)
R = cv2.radon(Image, theta)# Get the maximum value of the Radon transform
C = np.max(R)# Perform inverse Radon transform
result = cv2.remap(R, theta,None, cv2.INTER_LINEAR)# Display the images using matplotlib
fig, axs = plt.subplots(1,3, figsize=(10,10))
axs[0].imshow(Image, cmap='gray')
axs[0].set_title('Original Image')
axs[1].imshow(R, cmap='gray', extent=(0,180,0, R.shape[0]), aspect='auto')
axs[1].set_title('Radon Transform')
axs[2].imshow(result, cmap='gray')
axs[2].set_title('Reconstructed Image')
plt.show()
(3)Radon变换性质
线性:Radon变换是线性的。即,对于任意常数
a
,
b
a,b
a,b和函数
f
,
g
f,g
f,g,有以下等式成立
R
{
a
f
+
b
g
}
=
a
R
{
f
}
+
b
R
{
g
}
\mathcal{R}\{a f+b g\}=a \mathcal{R}\{f\}+b \mathcal{R}\{g\}
R{af+bg}=aR{f}+bR{g}
其中
R
⋅
\mathcal{R}{\cdot}
R⋅表示Radon变换。这个性质意味着可以通过对原始函数进行线性组合来计算其Radon变换
平移性:Radon变换是平移不变的。即,对于函数
f
(
x
,
y
)
f(x,y)
f(x,y)和距离向量
d
=
(
d
x
,
d
y
)
d=(d_x,d_y)
d=(dx,dy),有以下等式成立
R
{
f
(
x
−
d
x
,
y
−
d
y
)
}
(
θ
,
s
)
=
R
{
f
(
x
,
y
)
}
(
θ
,
s
−
d
x
cos
θ
−
d
y
sin
θ
)
\mathcal{R}\left\{f\left(x-d_{x}, y-d_{y}\right)\right\}(\theta, s)=\mathcal{R}\{f(x, y)\}\left(\theta, s-d_{x} \cos \theta-d_{y} \sin \theta\right)
R{f(x−dx,y−dy)}(θ,s)=R{f(x,y)}(θ,s−dxcosθ−dysinθ)
这个性质意味着可以通过平移原始函数来计算其在不同位置上的Radon变换
相似性:Radon变换是相似变换不变的。即,对于函数
f
(
x
,
y
)
f(x,y)
f(x,y)和比例因子
a
a
a,有以下等式成立
R
{
f
(
a
x
,
a
y
)
}
(
θ
,
s
)
=
1
∣
a
∣
R
{
f
(
x
,
y
)
}
(
θ
,
s
∣
a
∣
)
\mathcal{R}\{f(a x, a y)\}(\theta, s)=\frac{1}{|a|} \mathcal{R}\{f(x, y)\}\left(\theta, \frac{s}{|a|}\right)
R{f(ax,ay)}(θ,s)=∣a∣1R{f(x,y)}(θ,∣a∣s)
微分:Radon变换具有微分性质。即,对于函数
f
(
x
,
y
)
f(x,y)
f(x,y),有以下等式成立
∂
∂
s
R
{
f
(
x
,
y
)
}
(
θ
,
s
)
=
−
∫
−
∞
∞
∂
∂
y
f
(
x
,
y
)
cos
θ
−
∂
∂
x
f
(
x
,
y
)
sin
θ
d
x
\frac{\partial}{\partial s} \mathcal{R}\{f(x, y)\}(\theta, s)=-\int_{-\infty}^{\infty} \frac{\partial}{\partial y} f(x, y) \cos \theta-\frac{\partial}{\partial x} f(x, y) \sin \theta d x
∂s∂R{f(x,y)}(θ,s)=−∫−∞∞∂y∂f(x,y)cosθ−∂x∂f(x,y)sinθdx
小波:小波变换中的“小波”指的是一种基本的函数,可以用于将信号分解成不同的频率组件。这些小波函数具有紧凑的支撑和可变的频率和时间分辨率,使得它们可以在时域和频域之间转换,并能够更好地捕捉信号中的局部特征。数学上,小波是一种能够满足一定条件的局部有限能量函数,通常被定义为具有均值为零的波形函数和尺度函数的线性组合。通过将信号与不同尺度和位置的小波函数进行内积运算,可以得到信号在不同频率上的分解系数,进而实现小波变换。设函数
ψ
(
t
)
\psi(t)
ψ(t)满足
∫
R
ψ
(
t
)
d
t
=
0
\int_{R} \psi(t) d t=0
∫Rψ(t)dt=0,对其进行平移和伸缩产生函数族:
ψ
a
,
b
(
t
)
=
1
a
ψ
(
t
−
b
a
)
,
a
,
b
∈
R
,
a
≠
0
\psi_{a, b}(t)=\frac{1}{\sqrt{a}} \psi\left(\frac{t-b}{a}\right),a,b\in R,a\not=0
ψa,b(t)=a1ψ(at−b),a,b∈R,a=0,
ψ
(
t
)
\psi(t)
ψ(t)称为基小波或母小波,
α
\alpha
α为伸缩因子,
b
b
b为平移因子,
ψ
a
,
b
(
t
)
\psi_{a,b}(t)
ψa,b(t)为
ψ
(
t
)
\psi(t)
ψ(t)生成的连续小波。小波有如下特点
紧支撑性: 小波函数在小范围内波动,能量有限,超出一定范围时,波动幅度迅速衰减,具有速降性
变化性: 小波函数随尺度因子的变化而变化
K
K
K阶消失矩:
∫
R
t
k
Ψ
(
t
)
d
t
=
0
,
k
=
0
,
1
,
⋯
,
K
−
1
\begin{array}{l}\int_{R} t^{k} \Psi(t) d t=0 ,\quad k=0,1, \cdots, K-1\end{array}
∫RtkΨ(t)dt=0,k=0,1,⋯,K−1
B:实例
Haar小波:下图为Harr小波及其频谱
{
Ψ
H
(
t
)
=
{
1
0
≤
t
<
1
/
2
−
1
1
/
2
≤
t
<
1
0
其他
Ψ
H
(
ω
)
=
1
−
2
e
i
ω
2
+
e
−
i
ω
ω
i
\left\{\begin{array}{l}\Psi_{H}(t)=\left\{\begin{array}{cc}1 & 0 \leq t<1 / 2 \\-1 & 1 / 2 \leq t<1 \\0 & \text { 其他 }\end{array}\right. \\\Psi_{H}(\omega)=\frac{1-2 e^{\frac{i \omega}{2}}+e^{-i \omega}}{\omega i}\end{array}\right.
⎩⎨⎧ΨH(t)=⎩⎨⎧1−100≤t<1/21/2≤t<1其他ΨH(ω)=ωi1−2e2iω+e−iω
Morlet小波:下图为Morlet小波及其频谱
{
Ψ
(
t
)
=
π
−
1
/
4
(
e
−
i
ω
0
t
−
e
−
ω
0
2
/
2
)
e
−
t
2
/
2
Ψ
(
ω
)
=
π
−
1
/
4
[
e
−
(
ω
−
ω
0
)
2
/
2
−
e
−
ω
0
2
/
2
e
−
ω
2
/
2
]
\left\{\begin{array}{l}\Psi(t)=\pi^{-1 / 4}\left(e^{-i \omega_{0} t}-e^{-\omega_{0}^{2} / 2}\right) e^{-t^{2} / 2} \\\Psi(\omega)=\pi^{-1 / 4}\left[e^{-\left(\omega-\omega_{0}\right)^{2} / 2}-e^{-\omega_{0}^{2} / 2} e^{-\omega^{2} / 2}\right]\end{array}\right.
⎩⎨⎧Ψ(t)=π−1/4(e−iω0t−e−ω02/2)e−t2/2Ψ(ω)=π−1/4[e−(ω−ω0)2/2−e−ω02/2e−ω2/2]
Mexico草帽小波:下图为Mexico草帽小波及其频谱
Ψ
(
t
)
=
(
2
3
π
−
1
/
4
)
(
1
−
t
2
)
e
−
t
2
/
2
\Psi(t)=\left(\frac{2}{\sqrt{3}} \pi^{-1 / 4}\right)\left(1-t^{2}\right) e^{-t^{2} / 2}
Ψ(t)=(32π−1/4)(1−t2)e−t2/2
(2)一维小波变换
A:连续小波变换
连续小波变换(Continuous Wavelet Transform,CWT):给定一个原始信号
f
(
t
)
f(t)
f(t),以及一个小波函数
ψ
(
t
)
\psi(t)
ψ(t),CWT 将
f
(
t
)
f(t)
f(t) 与
ψ
(
t
)
\psi(t)
ψ(t) 进行一系列缩放和平移操作得到一组小波系数
C
ψ
(
a
,
b
)
C_{\psi}(a,b)
Cψ(a,b),其中
a
a
a 和
b
b
b 分别表示尺度(缩放因子)和位移(平移因子)。CWT可用如下公式表示
ψ
(
t
)
\psi_(t)
ψ(t) 表示小波函数的复共轭
ψ
∗
(
t
)
\psi^*(t)
ψ∗(t) 表示复共轭操作,即将小波函数
ψ
(
t
)
\psi(t)
ψ(t) 中的实部变为负数
C
ψ
(
a
,
b
)
=
1
a
∫
−
∞
+
∞
f
(
t
)
ψ
∗
(
t
−
b
a
)
d
t
C_{\psi}(a, b)=\frac{1}{\sqrt{a}} \int_{-\infty}^{+\infty} f(t) \psi^{*}\left(\frac{t-b}{a}\right) d t
Cψ(a,b)=a1∫−∞+∞f(t)ψ∗(at−b)dt
CWT 的物理意义是将信号
f
(
t
)
f(t)
f(t) 拆分成一系列不同尺度和不同频率的小波,从而可以更好地分析信号的局部特征
离散小波变换(Discrete Wavelet Transform,DWT):给定一个长度为
N
N
N 的离散信号
x
[
n
]
x[n]
x[n],以及一个小波函数
ψ
[
n
]
\psi[n]
ψ[n],DWT 将
x
[
n
]
x[n]
x[n] 与
ψ
[
n
]
\psi[n]
ψ[n] 进行一系列缩放和平移操作得到一组小波系数
c
j
,
k
c_{j,k}
cj,k 和一组近似系数
d
j
d_j
dj。其中,
j
j
j 表示尺度(缩放因子),
k
k
k 表示位移(平移因子)。DWT可以用以下公式表示
ψ
j
,
k
[
n
]
\psi_{j,k}[n]
ψj,k[n] 和
ϕ
j
,
k
[
n
]
\phi_{j,k}[n]
ϕj,k[n] 分别表示小波函数和尺度函数的离散缩放和平移版本,可以通过在连续版本中选取适当的尺度和位移进行离散化得到
c
j
,
k
=
⟨
x
[
n
]
,
ψ
j
,
k
[
n
]
⟩
=
∑
n
=
0
N
−
1
x
[
n
]
ψ
j
,
k
[
n
]
d
j
[
k
]
=
⟨
x
[
n
]
,
ϕ
j
,
k
[
n
]
⟩
=
∑
n
=
0
N
−
1
x
[
n
]
ϕ
j
,
k
[
n
]
\begin{array}{l}c_{j, k}=\left\langle x[n], \psi_{j, k}[n]\right\rangle=\sum_{n=0}^{N-1} x[n] \psi_{j, k}[n] \\d_{j}[k]=\left\langle x[n], \phi_{j, k}[n]\right\rangle=\sum_{n=0}^{N-1} x[n] \phi_{j, k}[n]\end{array}
cj,k=⟨x[n],ψj,k[n]⟩=∑n=0N−1x[n]ψj,k[n]dj[k]=⟨x[n],ϕj,k[n]⟩=∑n=0N−1x[n]ϕj,k[n]
DWT 的物理意义与 CWT 类似,是将信号
x
[
n
]
x[n]
x[n] 拆分成一组不同尺度和不同位置(或频率)的小波系数和近似系数,从而可以更好地分析信号的局部特征。与 CWT 不同的是,DWT 使用离散信号和离散小波函数进行计算,因此可以在计算机上高效地实现
D:正交小波
正交小波(Orthogonal Wavelet Transform,OWT):给定一个长度为
N
N
N 的离散信号
x
[
n
]
x[n]
x[n],以及一组正交小波函数
ψ
j
,
k
[
n
]
,
ϕ
j
,
k
[
n
]
{\psi_{j,k}[n],\phi_{j,k}[n]}
ψj,k[n],ϕj,k[n],OWT 将
x
[
n
]
x[n]
x[n] 与小波基进行内积计算,得到一组小波系数
c
j
,
k
c_{j,k}
cj,k 和一组近似系数
d
j
d_j
dj。其中,
j
j
j 表示尺度(缩放因子),
k
k
k 表示位移(平移因子)。OWT可用如下公式表示
c
j
,
k
=
⟨
x
[
n
]
,
ψ
j
,
k
[
n
]
⟩
=
∑
n
=
0
N
−
1
x
[
n
]
ψ
j
,
k
[
n
]
d
j
[
k
]
=
⟨
x
[
n
]
,
ϕ
j
,
k
[
n
]
⟩
=
∑
n
=
0
N
−
1
x
[
n
]
ϕ
j
,
k
[
n
]
\begin{array}{l}c_{j, k}=\left\langle x[n], \psi_{j, k}[n]\right\rangle=\sum_{n=0}^{N-1} x[n] \psi_{j, k}[n] \\d_{j}[k]=\left\langle x[n], \phi_{j, k}[n]\right\rangle=\sum_{n=0}^{N-1} x[n] \phi_{j, k}[n]\end{array}
cj,k=⟨x[n],ψj,k[n]⟩=∑n=0N−1x[n]ψj,k[n]dj[k]=⟨x[n],ϕj,k[n]⟩=∑n=0N−1x[n]ϕj,k[n]
其中,
ψ
j
,
k
[
n
]
\psi_{j,k}[n]
ψj,k[n] 和
ϕ
j
,
k
[
n
]
\phi_{j,k}[n]
ϕj,k[n] 是正交小波函数,满足以下正交条件
δ
i
,
j
\delta_{i,j}
δi,j
i
=
j
i=j
i=j 时为 1,否则为 0。这些正交条件保证了正交小波基的正交性和归一性
⟨
ψ
j
,
k
[
n
]
,
ψ
j
′
,
k
′
[
n
]
⟩
=
δ
j
,
j
′
δ
k
,
k
′
⟨
ϕ
j
,
k
[
n
]
,
ϕ
j
′
,
k
′
[
n
]
⟩
=
δ
j
,
j
′
δ
k
,
k
′
\begin{array}{l}\left\langle\psi_{j, k}[n], \psi_{j^{\prime}, k^{\prime}}[n]\right\rangle=\delta_{j, j^{\prime}} \delta_{k, k^{\prime}} \\\left\langle\phi_{j, k}[n], \phi_{j^{\prime}, k^{\prime}}[n]\right\rangle=\delta_{j, j^{\prime}} \delta_{k, k^{\prime}}\end{array}
⟨ψj,k[n],ψj′,k′[n]⟩=δj,j′δk,k′⟨ϕj,k[n],ϕj′,k′[n]⟩=δj,j′δk,k′
二维小波变换(Two-Dimensional Wavelet Transform,2DWT):是一种将二维图像或信号分解为不同尺度和方向上的频率成分的小波变换。它可以将一个
M
×
N
M\times N
M×N 的二维信号
f
(
x
,
y
)
f(x,y)
f(x,y) 分解为多个尺度和方向上的小波系数
w
j
,
k
(
x
,
y
)
w_{j,k}(x,y)
wj,k(x,y) 和近似系数
a
J
(
x
,
y
)
a_{J}(x,y)
aJ(x,y),其中
j
j
j 表示尺度,
k
k
k 表示位置,
J
J
J 是最粗糙的尺度。小波系数和近似系数可以用以下公式计算
w
j
,
k
(
x
,
y
)
=
⟨
f
(
x
,
y
)
,
ψ
j
,
k
(
x
,
y
)
⟩
=
∬
−
∞
∞
f
(
x
,
y
)
ψ
j
,
k
∗
(
x
,
y
)
d
x
d
y
a
J
(
x
,
y
)
=
⟨
f
(
x
,
y
)
,
ϕ
J
(
x
,
y
)
⟩
=
∬
−
∞
∞
f
(
x
,
y
)
ϕ
J
∗
(
x
,
y
)
d
x
d
y
\begin{array}{l}w_{j, k}(x, y)=\left\langle f(x, y), \psi_{j, k}(x, y)\right\rangle=\iint_{-\infty}^{\infty} f(x, y) \psi_{j, k}^{*}(x, y) d x d y \\a_{J}(x, y)=\left\langle f(x, y), \phi_{J}(x, y)\right\rangle=\iint_{-\infty}^{\infty} f(x, y) \phi_{J}^{*}(x, y) d x d y\end{array}
wj,k(x,y)=⟨f(x,y),ψj,k(x,y)⟩=∬−∞∞f(x,y)ψj,k∗(x,y)dxdyaJ(x,y)=⟨f(x,y),ϕJ(x,y)⟩=∬−∞∞f(x,y)ϕJ∗(x,y)dxdy
其中,
ψ
j
,
k
(
x
,
y
)
\psi_{j,k}(x,y)
ψj,k(x,y) 和
ϕ
J
(
x
,
y
)
\phi_{J}(x,y)
ϕJ(x,y) 是二维小波基函数,满足正交性和归一化条件:
⟨
ψ
j
,
k
(
x
,
y
)
,
ψ
j
′
,
k
′
(
x
,
y
)
⟩
=
δ
j
,
j
′
δ
k
,
k
′
⟨
ϕ
J
(
x
,
y
)
,
ϕ
J
(
x
,
y
)
⟩
=
1
\begin{array}{l}\left\langle\psi_{j, k}(x, y), \psi_{j^{\prime}, k^{\prime}}(x, y)\right\rangle=\delta_{j, j^{\prime}} \delta_{k, k^{\prime}} \\\left\langle\phi_{J}(x, y), \phi_{J}(x, y)\right\rangle=1\end{array}
⟨ψj,k(x,y),ψj′,k′(x,y)⟩=δj,j′δk,k′⟨ϕJ(x,y),ϕJ(x,y)⟩=1
二维小逆反变换将小波系数和近似系数重新组合成原始信号
f
(
x
,
y
)
f(x,y)
f(x,y),其公式为:
f
(
x
,
y
)
=
∑
j
=
0
J
∑
k
w
j
,
k
(
x
,
y
)
+
a
J
(
x
,
y
)
f(x, y)=\sum_{j=0}^{J} \sum_{k} w_{j, k}(x, y)+a_{J}(x, y)
f(x,y)=j=0∑Jk∑wj,k(x,y)+aJ(x,y)