差分
一阶差分
对于一维连续或离散函数f(x),在点x处的差分定义为
Δf(x)=f(x+Δx)−f(x)
对于二维连续或离散函数f(x,y),差分定义为
Δfx(x,y)=f(x+Δx,y)−f(x,y) Δfy(x,y)=f(x,y+Δy)−f(x,y)
二阶差分
二阶差分定义为对一阶差分的差分。
对于一维连续或离散函数f(x),在点x处的二阶差分定义为
Δ2f(x)=Δ(Δf(x)) =Δf(x+Δx)−Δf(x) =(f(x+Δx+Δx)−f(x+Δx))−(f(x+Δx)−f(x)) =f(x+2Δx)−2f(x+Δx)+f(x)
同理,对于二维连续或离散函数f(x,y),二阶差分定义为
Δ2fx(x,y)=f(x+2Δx,y)−2f(x+Δx,y)+f(x,y) Δ2fy(x,y)=f(x,y+2Δy)−2f(x,y+Δy)+f(x,y)
高阶差分
对于任意阶差分,其系数满足杨辉三角的系数,只需将偶数列取负值即可。
微分
微分是差分的点差趋近于0的特殊形式。
对于一维连续函数f(x),在点x处的微分定义为
df(x)=Δx→0limf(x+Δx)−f(x)
二阶微分为
d2f(x)=Δx→0limf(x+2Δx)−2f(x+Δx)+f(x)
在离散情况下,由于关于x,y的差分Δx,Δy无法趋近于0,因此一般用Δx=Δy=1,也就是距离为1的差分来近似表示微分。
对于一维离散函数f(x),在点x处的微分定义为
df(x)≈f(x+1)−f(x)
二阶微分为
d2f(x)≈f(x+2)−2f(x+1)+f(x)
导数
对于一维连续函数f(x),在点x处的导数定义为f(x)的差分与x的差分在Δx→0时的极限值:
f′(x)=dxdf(x)=Δx→0limΔxf(x+Δx)−f(x)
二阶导数为
f′′(x)=dx2d2f(x)=Δx→0lim(Δx)2f(x+2Δx)−2f(x+Δx)+f(x)
在OpenCV的离散情况下,由于关于x,y的差分Δx,Δy无法趋近于0,因此一般用Δx=Δy=1,也就是微分来近似计算导数。
即对于一维离散函数f(x),导数定义为
f′(x)≈df(x)=f(x+1)−f(x)
二阶导数为
f′′(x)≈d2f(x)=f(x+2)−2f(x+1)+f(x)
偏导数
对于二维连续或离散函数f(x,y),偏导数定义为f(x,y)的在x方向或y方向的差分与x和y的差分在Δx→0和Δy→0时的极限值:
Gx(x,y)=∂x∂f(x,y)=Δx→0limΔxf(x+Δx,y)−f(x,y) Gy(x,y)=∂y∂f(x,y)=Δy→0limΔyf(x,y+Δy)−f(x,y)
二阶偏导数为
∂x2∂2f(x,y)=Δx→0lim(Δx)2f(x+2Δx,y)−2f(x+Δx,y)+f(x,y) ∂y2∂2f(x,y)=Δy→0lim(Δy)2f(x,y+2Δy)−2f(x,y+Δy)+f(x,y)
除此之外,还有二阶混合偏导数,计算遵循从右到左的顺序:
∂x∂y∂2f(x,y)=∂x∂(∂y∂f(x,y)) =∂x∂(Δy→0limΔyf(x,y+Δy)−f(x,y)) =Δx→0limΔxlimΔy→0Δyf(x+Δx,y+Δy)−f(x+Δx,y)−Δyf(x,y+Δy)−f(x,y) =Δx→0limΔy→0limΔxΔyf(x+Δx,y+Δy)−f(x+Δx,y)−f(x,y+Δy)+f(x,y) ∂y∂x∂2f(x,y)=Δy→0limΔx→0limΔxΔyf(x+Δx,y+Δy)−f(x+Δx,y)−f(x,y+Δy)+f(x,y)
上式中的区别为取极限的顺序,一个是先对Δx取极限,另一个是先对Δy取极限。
对于二维离散函数f(x,y),偏导数定义为
Gx=∂x∂f(x,y)≈dfx(x,y)=f(x+1,y)−f(x,y) Gy=∂y∂f(x,y)≈dfy(x,y)=f(x,y+1)−f(x,y)
二阶偏导数为
∂x2∂2f(x,y)≈d2fx(x,y)=f(x+2,y)−2f(x+1,y)+f(x,y) ∂y2∂2f(x,y)≈d2fy(x,y)=f(x,y+2)−2f(x,y+1)+f(x,y) ∂x∂y∂2f(x,y)≈∂y∂x∂2f(x,y)≈f(x+1,y+1)−f(x+1,y)−f(x,y+1)+f(x,y)
梯度
一阶梯度
在二维图像f(x,y)上,一阶导数由f(x,y)在x方向和y方向的偏导数计算出的梯度来表示。梯度∇f是关于f的向量函数:
G(x,y)=∇f(x,y)=[∂x∂f∂y∂f]=[GxGy]
梯度的幅值为
mag(G(x,y))=(∂x∂f)2+(∂y∂f)2=Gx2+Gy2
为方便计算,也常用近似公式
mag(G(x,y))≈∣∂x∂f∣+∣∂y∂f∣=∣Gx∣+∣Gy∣
梯度的方向为
ϕ(G(x,y))=arctan∣GxGy∣
二阶梯度
二维空间中的二阶梯度是一个2×2矩阵,称为海森矩阵(Hessian matrix),定义为:
Δ2f(x,y)=[∂x2∂2f∂x∂y∂2f ∂y∂x∂2f∂y2∂2f]
卷积
对于一维连续可积函数f(x),g(x),在实数域R上的卷积为
(f⋅g)(x)=∫−∞∞f(τ)g(x−τ)dτ
合理推广,对于二维连续可积函数f(x,y),g(x,y),在实数域R2上的卷积为
(f⋅g)(x,y)=∫−∞∞∫−∞∞f(τx,τy)g(x−τx,y−τy)dτxdτy
在离散有界情况下,对于一维离散函数f(x),g(x),卷积定义为
(f⋅g)(x)=x0=a∑bf(x0)g(x−x0)
对于二维离散函数f(x,y),g(x,y),卷积定义为
(f⋅g)(x,y)=x0=a∑by0=c∑df(x0,y0)g(x−x0,y−y0)