python拉普拉斯算⼦滤波_简单易懂地向你解释:离散函数,差分,⼆阶差分和Laplaci。。。
如有写的不对的还望指正!
离散函数
什么是离散函数?我们来看⼏个例⼦:
这是 $f(x) = \sin x + \sin {x \over 2}$ 的函数图像。它的定义域是 $R$,是连续的。
再看下图这是 $f(x) = \sin x + \sin {x \over 2}$ 当 $x$ 是 $1\over2$ 的整数倍时的图像。是离散的。这样的定义域是离散集合的函数,称为离散函数。
差分和⼆阶差分
什么是差分
差分就是相邻两个离散值的差。以函数 $f(x) = x^2,\ x\in Z$为例
$x$
$f(x)$
1
1
2
4
3
9
4
16
5
25
对于 $x = 1$,我们可以知道:
$f(1) = 1 \\f(1 + 1) = 4$
那么差分
$\Delta f(1) = f(1+1) - f(1) = 4 - 1 = 3$
内容补充
这样⽤$x+1$和 $x$作差的差分,称为向前差分,记号是$\Delta$。另有:
$f(x_i) - f(x_i - h)$:向后差分,记作 $\nabla。$
$f(x_i + h) - f(x_i - h)$ :中⼼差分。
如果进⾏⼀次泰勒展开,还能得到⼀阶微分的中⼼差商,可⽤于更⾼精度要求。有兴趣的可以⾃⾏了解。以此类推,可得:
$x$
$f(x)$
$\Delta f(x)$
1
1
3
2
3
9
7
4
16
9
5
25
$\dots$
你会发现执⾏⼀次差分之后,差分值为等差数列。实际上运⽤这个特点可以让电路进⾏求导等数学操作,神奇吧?我们对$\Delta f(x)$ 也执⾏差分,也就是差分的差分,称为⼆阶差分。
由此可得:
$x$
$f(x)$
$\Delta f(x)$
$\Delta ^2f(x)$
1
1
3
2
2
4
5
2
3
9
7
2
4
16
python是做什么的通俗易懂的9
$\dots$
$\dots$
$\dots$
⼆阶差分之后,我们得到了常数列。可以发现差分的作⽤和求导是⼗分类似的。
偏导数的差分形式
在实际问题中,我们常常要⾯对不⽌⼀个⾃变量。⽐如图像处理中的像素,需要⾯对$x,\ y$两个⾃变量。这个时候可以把差分看作类似微分的东西。那么我们对 $x$ 求差分的偏导可以有:
$$
{\delta f\over\delta x} = {f(x, y) - f(x -1, y)\over1}
$$
由于函数是离散的,所以分母的增量是 $0$。
我们把 $y$ 也考虑进来:
$$
{\delta f\over\delta x} = {f(x, y) - f(x -1, y)}\\
{\delta f\over\delta y} = {f(x, y) - f(x , y - 1)}
$$
则⼆维的⼀阶差分(向后的)可以表⽰为:
$$
\begin{align}
\nabla f(x,y) & = {\delta f\over\delta x}+ {\delta f\over\delta y} \\
& = 2{f(x, y) - f(x -1, y)} - f(x , y - 1)
\end{align}
$$
实际使⽤时,可以使⽤向后差分,也可以使⽤向前差分:
$$
\begin{align}
\nabla f(x,y) & = {\delta f\over\delta x}+ {\delta f\over\delta y} \\
& = - 2{f(x, y) + f(x -1, y)} + f(x , y - 1)
\end{align}
$$
也有⼈叫它导数,我觉得差分更能体现离散型。不过,⼤家明⽩意思就好。
拉普拉斯滤波
差分和导数类似,可以反映变化的快慢。对灰度不同的两个像素进⾏差分,得到的值就是两个像素的过渡急缓。⽽过度急剧的地⽅,往往就是图像中物体的边缘,因此我们认为:⼀阶差分可以检测边缘存在的可能性。这是⼀阶差分在这⾥的实际意义。
那么如果是⼆阶差分呢?在物理学中,对于位移$\vec{x}$和时间$t$,⼀阶导数表⽰速度,⼆阶差分表⽰速度的导数加速度。同样的,在图像处理上,⼀阶差分表⽰相邻像素的过渡急缓,⼆阶差分就表⽰这种过度急缓的变化强弱,可能你还是不明⽩,没关系,我们会在下⾯进⼀步解释。
如果⼀阶差分就能检测边缘,我们为什么还要⼆阶差分呢?
我们看下⾯的图:
这是⼀张从⽩到⿊均匀渐变的图案,如果交给⼀阶差分来从上往下分析,会发现差分值⼀直都存在。于是⼀阶差分滤波器告诉你:这⾥全是边缘。但是这和我们的常识是不符的,因为虽然灰度变化了,但是变化的趋势却是均匀的。那么怎么样才能正确判断这是不是边缘呢?聪明的你应该想到了,⽤⼆阶差分来看,差分值⼀直是 0,说明变化是⼗分均匀的,说明边缘并不存在。因此,⼆阶差分才是真能确定边缘的存在性。
现在知道了它的作⽤,我们怎么计算⼆阶差分呢?显然的,对⼀阶差分再算⼀次差分就⾏了,具体的操作我们在上⼀节的表格⾥列过,⽤数学语⾔表达,对于 $x$ 的⼆阶偏差分就是:
$$
\begin{align}
\frac{\partial^2f}{\partial x ^2} & =\frac{\partial f'(x)}{dx^2}=f'(x+1)-f'(x)\\
& =f((x+1)+1)-f((x+1))-(f(x+1)-f(x))\\
& =f(x+2)-f(x+1)-f(x+1)+f(x) \\
& =f(x+2)-2f(x+1)+f(x)
\end{align}
$$
令 $x=x-1$ 得:
$$
\frac{\partial^2f}{\partial x ^2}=f(x+1)+f(x-1)-2f(x)
$$
同理得到对$y$ 的⼆阶差分。故有:
$$
\frac{\partial^2f}{\partial x ^2}=f(x+1,y)+f(x-1,y)-2f(x,y)\\
\frac{\partial^2f}{\partial y ^2}=f(x,y+1)+f(x,y-1)-2f(x,y)
$$
综合可得:
$$
\begin{align}
\Delta^2 f(x,y) & = \frac{\partial^2f}{\partial x ^2}+\frac{\partial^2f}{\partial y ^2} \\

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。