Skip to content

Commit

Permalink
fix equations
Browse files Browse the repository at this point in the history
  • Loading branch information
xiahouzuoxin committed Jun 15, 2020
1 parent 0d9ede7 commit 8bda315
Show file tree
Hide file tree
Showing 38 changed files with 192 additions and 192 deletions.
52 changes: 26 additions & 26 deletions essays/Kalman滤波器从原理到实现.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,29 +32,29 @@ Rudolph Kalman在1960年发现了离散时间系统的Kalman滤波器,这就

话说,有一辆质量为m的小车,受恒定的力F,沿着r方向做匀加速直线运动。已知小车在t-ΔT时刻的位移是s(t-1),此时的速度为v(t-1)。求:t时刻的位移是s(t),速度为v(t)?

由牛顿第二定律,求得加速度:<img src="http://www.forkosh.com/mathtex.cgi? \large a=F/m">
由牛顿第二定律,求得加速度:<img src="https://latex.codecogs.com/png.latex? \large a=F/m">

那么就有下面的位移和速度关系:

<img src="http://www.forkosh.com/mathtex.cgi? \large s(t)=s(t-1)+v(t-1)\Delta{T}+\frac{1}{2}\frac{F}{m}{(\Delta{T})}^2">
<img src="https://latex.codecogs.com/png.latex? \large s(t)=s(t-1)+v(t-1)\Delta{T}+\frac{1}{2}\frac{F}{m}{(\Delta{T})}^2">

<img src="http://www.forkosh.com/mathtex.cgi? \large v(t)=v(t-1)+\frac{F}{m}\Delta{T}">
<img src="https://latex.codecogs.com/png.latex? \large v(t)=v(t-1)+\frac{F}{m}\Delta{T}">

如果将上面的表达式用矩阵写在一起,就变成下面这样:

<img src="http://www.forkosh.com/mathtex.cgi? \large \begin{pmatrix} s(t) \\ v(t) \end{pmatrix}={\begin{pmatrix} 1 & \Delta{T} \\ 0 & 1 \end{pmatrix}} {\begin{pmatrix} s(t-1) \\ v(t-1) \end{pmatrix}} + {\begin{pmatrix} \frac{(\Delta{T})^2}{2} \\ {\Delta{T}} \end{pmatrix}} {\frac{F}{m}}................................(1)">
<img src="https://latex.codecogs.com/png.latex? \large \begin{pmatrix} s(t) \\ v(t) \end{pmatrix}={\begin{pmatrix} 1 & \Delta{T} \\ 0 & 1 \end{pmatrix}} {\begin{pmatrix} s(t-1) \\ v(t-1) \end{pmatrix}} + {\begin{pmatrix} \frac{(\Delta{T})^2}{2} \\ {\Delta{T}} \end{pmatrix}} {\frac{F}{m}}................................(1)">

卡尔曼滤波器是建立在动态过程之上,由于物理量(位移,速度)的不可突变特性,这样就可以通过t-1时刻估计(预测)t时刻的状态,其__状态空间__模型为:

<img src="http://www.forkosh.com/mathtex.cgi? \large \mathbf{x(t)=Ax(t-1)+Bu(t)+w(t)}................................(2)">
<img src="https://latex.codecogs.com/png.latex? \large \mathbf{x(t)=Ax(t-1)+Bu(t)+w(t)}................................(2)">

对比一下(1)(2)式,长得及其相似有木有:

<img src="http://www.forkosh.com/mathtex.cgi? \large A={\begin{pmatrix} 1 & \Delta{T} \\ 0 & 1 \end{pmatrix}}, B={\begin{pmatrix} \frac{(\Delta{T})^2}{2} \\ {\Delta{T}} \end{pmatrix}}">
<img src="https://latex.codecogs.com/png.latex? \large A={\begin{pmatrix} 1 & \Delta{T} \\ 0 & 1 \end{pmatrix}}, B={\begin{pmatrix} \frac{(\Delta{T})^2}{2} \\ {\Delta{T}} \end{pmatrix}}">

匀加速直线运动过程就是卡尔曼滤波中状态空间模型的一个典型应用。下面我们重点关注(2)式,鉴于研究的计算机信号都是离散的,将(2)是表示成离散形式为:

<center><img src="http://www.forkosh.com/mathtex.cgi? \large \mathbf{x(n)=Ax(n-1)+Bu(n)+w(n)}................................(3)"></center>
<center><img src="https://latex.codecogs.com/png.latex? \large \mathbf{x(n)=Ax(n-1)+Bu(n)+w(n)}................................(3)"></center>

其中各个量之间的含义是:

Expand All @@ -71,9 +71,9 @@ Rudolph Kalman在1960年发现了离散时间系统的Kalman滤波器,这就

然而,初中物理就告诉我们,“尺子是量不准的,物体的物理真实值无法获得”,测量存在误差,我们暂且将这个误差记为v(n)。这种通过直接测量的方式获得所需物理量的值构成__观测空间__

<center><img src="http://www.forkosh.com/mathtex.cgi? \large \mathbf{z(n)=H(n)x(n)+v(n)} ................................(4)"></center>
<center><img src="https://latex.codecogs.com/png.latex? \large \mathbf{z(n)=H(n)x(n)+v(n)} ................................(4)"></center>

z(n)就是测量结果,H(n)是观测矢量,x(n)就是要求的物理量(位移、速度),v(n)~N(0,R)为测量噪声,同状态空间方程中的过程噪声一样,这也是一个后面要讨论的量。大部分情况下,如果物理量能直接通过传感器测量,<img src="http://www.forkosh.com/mathtex.cgi? \small \mathbf{H(n)=I}">。
z(n)就是测量结果,H(n)是观测矢量,x(n)就是要求的物理量(位移、速度),v(n)~N(0,R)为测量噪声,同状态空间方程中的过程噪声一样,这也是一个后面要讨论的量。大部分情况下,如果物理量能直接通过传感器测量,<img src="https://latex.codecogs.com/png.latex? \small \mathbf{H(n)=I}">。

![img1]
![img2]
Expand All @@ -92,25 +92,25 @@ z(n)就是测量结果,H(n)是观测矢量,x(n)就是要求的物理量(

预测值:

<img src="http://www.forkosh.com/mathtex.cgi? \large \mathbf{\hat{x}(n|n-1)=A\hat{x}(n-1|n-1)+Bu(n)}................................(5)">
<img src="https://latex.codecogs.com/png.latex? \large \mathbf{\hat{x}(n|n-1)=A\hat{x}(n-1|n-1)+Bu(n)}................................(5)">

最小均方误差矩阵:

<img src="http://www.forkosh.com/mathtex.cgi? \large \mathbf{P(n|n-1)=AP(n-1|n-1)A^T+Q}................................(6)">
<img src="https://latex.codecogs.com/png.latex? \large \mathbf{P(n|n-1)=AP(n-1|n-1)A^T+Q}................................(6)">

2. 修正

误差增益:

<img src="http://www.forkosh.com/mathtex.cgi? \large \mathbf{K(n)=P(n|n-1)H^T(n)[R(n)+H(n)P(n|n-1)H^T(n)]^{-1}}.............(7)">
<img src="https://latex.codecogs.com/png.latex? \large \mathbf{K(n)=P(n|n-1)H^T(n)[R(n)+H(n)P(n|n-1)H^T(n)]^{-1}}.............(7)">

修正值:

<img src="http://www.forkosh.com/mathtex.cgi? \large \mathbf{\hat{x}(n|n)=A\hat{x}(n|n-1)+K(n)[{z(n)-H(n)\hat{x}(n|n-1)}]}......................(8)">
<img src="https://latex.codecogs.com/png.latex? \large \mathbf{\hat{x}(n|n)=A\hat{x}(n|n-1)+K(n)[{z(n)-H(n)\hat{x}(n|n-1)}]}......................(8)">

最小均方误差矩阵:

<img src="http://www.forkosh.com/mathtex.cgi? \large \mathbf{P(n|n)=[I-K(n)H(n)]P(n|n-1)}................................(9)">
<img src="https://latex.codecogs.com/png.latex? \large \mathbf{P(n|n)=[I-K(n)H(n)]P(n|n-1)}................................(9)">


从(5)~(9)中:
Expand All @@ -121,7 +121,7 @@ z(n)就是测量结果,H(n)是观测矢量,x(n)就是要求的物理量(
- x(n|n):用n时刻及n时刻以前的数据对n时刻的估计结果,这也是Kalman滤波器的输出
- P(n|n-1):NxN,最小预测均方误差矩阵,其定义式为

<img src="http://www.forkosh.com/mathtex.cgi? \large \mathbf{P(n|n-1)=E\{[x(n)-\hat{x}(n|n-1)][x(n)-\hat{x}(n|n-1)]^T\}}">
<img src="https://latex.codecogs.com/png.latex? \large \mathbf{P(n|n-1)=E\{[x(n)-\hat{x}(n|n-1)][x(n)-\hat{x}(n|n-1)]^T\}}">

通过计算最终得到(6)式。
- P(n|n):NxN,修正后最小均方误差矩阵。
Expand All @@ -133,25 +133,25 @@ Kalman滤波算法的步骤是(5)(6)->(7)->(8)(9)。当然,建议找本教材

> __Example__:
> 还可以更简单一些:设小车做匀速(而非匀加速)直线运动,方便计算,假设速度绝对的恒定(不波动,所以相关的方差都为0),则u(t)==0恒成立。设预测(过程)位移噪声w(n)~N(0,2^2),测量位移噪声v(n)~N(0,1^2),n-1状态的位移<img src="http://www.forkosh.com/mathtex.cgi? \Small \hat{x}(n-1|n-1)=50m}">,速度为v=10m/s,n时刻与n-1时刻的物理时差为ΔT=1s。同时,也用尺子测了一下,结果位移为z(n)=62m。
> 还可以更简单一些:设小车做匀速(而非匀加速)直线运动,方便计算,假设速度绝对的恒定(不波动,所以相关的方差都为0),则u(t)==0恒成立。设预测(过程)位移噪声w(n)~N(0,2^2),测量位移噪声v(n)~N(0,1^2),n-1状态的位移<img src="https://latex.codecogs.com/png.latex? \small \hat{x}(n-1|n-1)=50m">,速度为v=10m/s,n时刻与n-1时刻的物理时差为ΔT=1s。同时,也用尺子测了一下,结果位移为z(n)=62m。
> 则A = [1 ΔT; 0 1]=[1 1; 0 1],根据(5),预测值为
> <img src="http://www.forkosh.com/mathtex.cgi? \Small \hat{x}(n|n-1)=1*\hat{x}(n-1|n-1)+v*\Delta{T}=[60m; 10m/s]}">。
> <img src="https://latex.codecogs.com/png.latex? \small \hat{x}(n|n-1)=1*\hat{x}(n-1|n-1)+v*\Delta{T}=[60m; 10m/s]">。
> 现在已经有了估计值和测量值,哪个更接近真值,这就通过最小均方误差矩阵来决定!
> 要求已知上次的修正后的最小均方误差P(n-1|n-1)=[1 0; 0 0](匀速,所以P(2,2)=0,右斜对角线上为协方差,值为0,P(1,1)为n-1时刻位移量的均方误差,因为要计算P(1,1)还得先递推往前计算P(n-2|n-2),所以这里暂时假设为1),则根据(6)式,最小预测预测均方误差为P(n|n-1)=[1 0; 0 0][1 1; 0 1][1 0; 0 0]=[1 0; 0 0]
> 由物理量的关系知,H(n)=[1 1],增益K(n)=[1;0]{1+[1 1][1 0; 0 0][1; 1]}^(-1)=[1/2;0]
> 所以,最后的n时刻估计值既不是用n-1得到的估计值,也不是测量值,而是:<img src="http://www.forkosh.com/mathtex.cgi? \Small \hat{x}(n|n)=[60;1]+[1/2;0]{62-[1 1][60;1]}=[60.5m; 1m/s]">,因此,最终的Kalman滤波器的输出位移是60.5m。
> 所以,最后的n时刻估计值既不是用n-1得到的估计值,也不是测量值,而是:<img src="https://latex.codecogs.com/png.latex? \small \hat{x}(n|n)=[60;1]+[1/2;0]{62-[1 1][60;1]}=[60.5m; 1m/s]">,因此,最终的Kalman滤波器的输出位移是60.5m。
从上面的递推关系知道,要估计n时刻就必须知道n-1时刻,那么n=0时刻该如何估计,因此,卡尔曼滤波要初始化的估计值x(-1|-1)和误差矩阵P(-1|-1),设x(-1,-1)~N(Us, Cs),则初始化:

<img src="http://www.forkosh.com/mathtex.cgi? \large \mathbf{x(-1|-1)=\mu_s}">
<img src="https://latex.codecogs.com/png.latex? \large \mathbf{x(-1|-1)=\mu_s}">

<img src="http://www.forkosh.com/mathtex.cgi? \large \mathbf{P(-1|-1)=C_s}">
<img src="https://latex.codecogs.com/png.latex? \large \mathbf{P(-1|-1)=C_s}">

综上,借用一张图说明一下Kalman滤波算法的流程:

Expand All @@ -175,23 +175,23 @@ Kalman滤波算法的步骤是(5)(6)->(7)->(8)(9)。当然,建议找本教材

![img4]

<img src="http://www.forkosh.com/mathtex.cgi? \large y_f=\frac{1}{\sqrt{2\pi{\sigma^2_z}}}\exp^{-\frac{(r-uz)^2}{2\sigma^2_z}}*\frac{1}{\sqrt{2\pi{\sigma^2_x}}}\exp^{-\frac{(r-ux)^2}{2\sigma^2_x}}=\frac{1}{\sqrt{2\pi{\sigma^2}}}\exp^{-\frac{(r-\mu)^2}{2\sigma^2}}">
<img src="https://latex.codecogs.com/png.latex? \large y_f=\frac{1}{\sqrt{2\pi{\sigma^2_z}}}\exp^{-\frac{(r-uz)^2}{2\sigma^2_z}}*\frac{1}{\sqrt{2\pi{\sigma^2_x}}}\exp^{-\frac{(r-ux)^2}{2\sigma^2_x}}=\frac{1}{\sqrt{2\pi{\sigma^2}}}\exp^{-\frac{(r-\mu)^2}{2\sigma^2}}">

稍微计算一下,通过上式求出u和σ^2,

<center><img src="http://www.forkosh.com/mathtex.cgi? \large \mu=\frac{u_x\sigma^2_z+u_z\sigma^2_x}{\sigma^2_z+\sigma^2_x}=u_x+\frac{\sigma^2_x}{\sigma^2_z+\sigma^2_x}(u_z-u_x)........(10)"></center>
<center><img src="https://latex.codecogs.com/png.latex? \large \mu=\frac{u_x\sigma^2_z+u_z\sigma^2_x}{\sigma^2_z+\sigma^2_x}=u_x+\frac{\sigma^2_x}{\sigma^2_z+\sigma^2_x}(u_z-u_x)........(10)"></center>

<center><img src="http://www.forkosh.com/mathtex.cgi? \large \sigma^2=\frac{\sigma^2_x\sigma^2_z}{\sigma^2_x+\sigma^2_z}=\sigma^2_x(1-\frac{\sigma^2_x}{\sigma^2_x+\sigma^2_z})........(11)"></center>
<center><img src="https://latex.codecogs.com/png.latex? \large \sigma^2=\frac{\sigma^2_x\sigma^2_z}{\sigma^2_x+\sigma^2_z}=\sigma^2_x(1-\frac{\sigma^2_x}{\sigma^2_x+\sigma^2_z})........(11)"></center>

现在令

<center><img src="http://www.forkosh.com/mathtex.cgi? \large K=\frac{\sigma^2_x}{\sigma^2_x+\sigma^2_z}........(12)"></center>
<center><img src="https://latex.codecogs.com/png.latex? \large K=\frac{\sigma^2_x}{\sigma^2_x+\sigma^2_z}........(12)"></center>

则(10)(11)变成:

<center><img src="http://www.forkosh.com/mathtex.cgi? \large \mu==u_x+K(u_z-u_x)........(13)"></center>
<center><img src="https://latex.codecogs.com/png.latex? \large \mu==u_x+K(u_z-u_x)........(13)"></center>

<center><img src="http://www.forkosh.com/mathtex.cgi? \large \sigma^2==\sigma^2_x(1-K)........(14)"></center>
<center><img src="https://latex.codecogs.com/png.latex? \large \sigma^2==\sigma^2_x(1-K)........(14)"></center>

到这里,请将(13)-(14)与(8)-(9)式对比!标量的情况下,在小车的应用中有:A=1,H=1,正态分布的均值u就是我们要的输出结果,正态分布的方差σz^2就是最小均方误差。推广到矢量的情况,最小均方误差矩阵就是多维正态分布的协方差矩阵。

Expand Down
8 changes: 4 additions & 4 deletions essays/Markdown中插入数学公式的方法.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,18 +33,18 @@ forkosh上提供了关于Latex公式的一份简短而很有用的帮助,参
使用forkosh插入公式的方法是

```
<img src="http://www.forkosh.com/mathtex.cgi? 在此处插入Latex公式">
<img src="https://latex.codecogs.com/png.latex? 在此处插入Latex公式">
```

给个例子,

```
<img src="http://www.forkosh.com/mathtex.cgi? \Large x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}">
<img src="https://latex.codecogs.com/png.latex? \Large x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}">
```

显示结果为:

<img src="http://www.forkosh.com/mathtex.cgi? \Large x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}">
<img src="https://latex.codecogs.com/png.latex? \Large x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}">


因为网页插入公式的原理是调用“某某网站的服务器”动态生成的,所有保证公式正常显示的前提是该网址能一直存在着为我等小生做些小小的服务。forkosh我是用了快2年了,一直很好,推荐!
Expand Down Expand Up @@ -89,7 +89,7 @@ $$x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}$$
@触发文本:Equation
@代码片段:请在下一行开始输入内容!
<img src="http://www.forkosh.com/mathtex.cgi? \Large x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}">
<img src="https://latex.codecogs.com/png.latex? \Large x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}">
```

Expand Down
6 changes: 3 additions & 3 deletions essays/OpenCV图像处理篇之Hough变换.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

对于图像中共线的点集{(x0,y0), (x1,y1), ...}都经过直线y=kx+b,先在我们换一个说法,“斜率为k,截距为b的直线y=kx+b包含了所有在该直线上的点”。一种强调的是图像中的点集,另一种强调的是直线的参数k和b,通过直线的点集去描述这条直线明显没有直接通过k,b两个参数去描述那样直接方便。而Hough变换就是将我们“点共线”的思维转化到参数空间{k,b}进行描述,图像空间中所有经过y=kx+b的点经过Hough变换后在参数空间都会相交于点(k,b),这样,通过Hough变换,就可以将图像空间中直线的检测转化为参数空间中对点的检测。我们不妨将y=kx+b进行一下变形:

<img src="http://www.forkosh.com/mathtex.cgi? b=-kx+y">
<img src="https://latex.codecogs.com/png.latex? b=-kx+y">

这就是Hough变换将图像空间坐标(x,y)转化为参数空间(k,b)的Hough变换式。

Expand All @@ -24,11 +24,11 @@ Hough变换的步骤(执行过程):

极坐标中的直线方程为

<img src="http://www.forkosh.com/mathtex.cgi? y=-\frac{cos(\theta)}{sin(\theta)}x+\frac{r}{sin(\theta)}">
<img src="https://latex.codecogs.com/png.latex? y=-\frac{cos(\theta)}{sin(\theta)}x+\frac{r}{sin(\theta)}">

将其改写成Hough变换式,即自变量(x,y)到参数变量(r,$theta$)的映射:

<img src="http://www.forkosh.com/mathtex.cgi? r=x\cos{\theta}+y\sin{\theta}">
<img src="https://latex.codecogs.com/png.latex? r=x\cos{\theta}+y\sin{\theta}">

使用极坐标参数空间,Hough变换的步骤不变,只不过将kbcnt替换成rthcnt,r范围是图像对角线的长度,th范围是0~2*pi。因为图像是离散的,所以r和th都有一个步进值dr和dth。

Expand Down
4 changes: 2 additions & 2 deletions essays/OpenCV图像处理篇之图像平滑.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

图像平滑与图像模糊是同一概念,主要用于图像的去噪。平滑要使用滤波器,为不改变图像的相位信息,一般使用线性滤波器,其统一形式如下:

<img src="http://www.forkosh.com/mathtex.cgi? \Large g(i,j)=\sum_{k,l}f(i+k,j+l)h(k,l)">
<img src="https://latex.codecogs.com/png.latex? \Large g(i,j)=\sum_{k,l}f(i+k,j+l)h(k,l)">

其中h称为滤波器的核函数,说白了就是权值。不同的核函数代表不同的滤波器,有不同的用途。

Expand All @@ -20,7 +20,7 @@

是实际中最常用的滤波器,高斯滤波是将输入数组的每一个像素点与 高斯内核 卷积将卷积和当作输出像素值。高斯核相当于对输出像素的邻域赋予不同的权值,输出像素点所在位置的权值最大(对应高斯函数的均值位置)。二维高斯函数为,

<img src="http://www.forkosh.com/mathtex.cgi? \Large G(x,y) = Ae^{\frac{-(x-u_x)^2}{2\delta_x^2}+\frac{-(y-y_x)^2}{2\delta_y^2}">
<img src="https://latex.codecogs.com/png.latex? \Large G(x,y) = Ae^{\frac{-(x-u_x)^2}{2\delta_x^2}+\frac{-(y-y_x)^2}{2\delta_y^2}">


3. 中值滤波器(median blur)
Expand Down
8 changes: 4 additions & 4 deletions essays/OpenCV图像处理篇之腐蚀与膨胀.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,21 +26,21 @@ _结构元素_是形态学操作中最重要的概念,

1. 腐蚀操作

<img src="http://www.forkosh.com/mathtex.cgi? \Large g(x,y)=erode[f(x,y),B]=\min{\{f(x+dx,y+dy)-B(dx,dy)|(dx,dy)\in{D_B}\}}">
<img src="https://latex.codecogs.com/png.latex? \Large g(x,y)=erode[f(x,y),B]=\min{\{f(x+dx,y+dy)-B(dx,dy)|(dx,dy)\in{D_B}\}}">

其中,g(x,y)为腐蚀后的灰度图像,f(x,y)为原灰度图像,B为结构元素。腐蚀运算是由结构元素确定的邻域块中选取图像值与结构元素值的差的最小值。

2. 膨胀操作

<img src="http://www.forkosh.com/mathtex.cgi? \Large g(x,y)=dilate[f(x,y),B]=\min{\{f(x-dx,y-dy)+B(dx,dy)|(dx,dy)\in{D_B}\}}">
<img src="https://latex.codecogs.com/png.latex? \Large g(x,y)=dilate[f(x,y),B]=\min{\{f(x-dx,y-dy)+B(dx,dy)|(dx,dy)\in{D_B}\}}">

其中,g(x,y)为腐蚀后的灰度图像,f(x,y)为原灰度图像,B为结构元素。 膨胀运算是由结构元素确定的邻域块中选取图像值与结构元素值的和的最大值。

在灰度图的形态学操作中,一般选择“平摊”的结构元素,即结构元素B的值为0,则上面对灰度图的形态学操作可简化如下:

<img src="http://www.forkosh.com/mathtex.cgi? \Large g(x,y)=erode[f(x,y),B]=\min{\{f(x+dx,y+dy)|(dx,dy)\in{D_B}\}}">
<img src="https://latex.codecogs.com/png.latex? \Large g(x,y)=erode[f(x,y),B]=\min{\{f(x+dx,y+dy)|(dx,dy)\in{D_B}\}}">

<img src="http://www.forkosh.com/mathtex.cgi? \Large g(x,y)=dilate[f(x,y),B]=\min{\{f(x-dx,y-dy)|(dx,dy)\in{D_B}\}}">
<img src="https://latex.codecogs.com/png.latex? \Large g(x,y)=dilate[f(x,y),B]=\min{\{f(x-dx,y-dy)|(dx,dy)\in{D_B}\}}">

好了,这就是基本的形态学操作——腐蚀和膨胀,下面是使用OpenCV对图像进行腐蚀和膨胀的程序,还是秉承我们一贯的原则:搁下理论,先直观地感觉图像处理算法的效果,实际项目需要时再深入挖掘!

Expand Down
Loading

0 comments on commit 8bda315

Please sign in to comment.