Bootstrap

计算机视觉-边缘检测

 一、边缘

1.1 边缘的类型

①实体上的边缘
②深度上的边缘
③符号的边缘
④阴影产生的边缘

不同任务关注的边缘不一样

1.2 提取边缘

        突变-求导(求导也是一种卷积)

        近似,\varepsilon=1(右边的一个值-自己=可以用卷积做)

        该点f(x,y)在x方向上的导数为f(x+1,y)*1 + f(x,y)*(-1),也就是f(x,y)*g(x,y)在卷积区域内求和,卷积区域为1*2,-1与1对应的是g(x,y)。

        对x求导,是y方向左右差异比较大的

        对y求导,是x方向上下差异比较大的

eg:-1、1与原图卷积就是出现左下方的图,(右减左)

1.3 图像的梯度

        梯度方向与边(边缘)垂直

        梯度指向信号方向大的地方

        梯度值\left \| \bigtriangledown f \right \|越大,说明这个点是边缘的可能性就越大

        

eg:

Prewitt:自己左边的值与右边的值相减,衡量自己是不是边缘值

Sobel:先平滑高斯滤波,再边缘提取(对噪声敏感程度更低)

Roberts:M_{x}是检测135度的线,M_{y}是检测45度的线

检测模版与线的方向是垂直的

1.4 噪声的影响

        现实中信号有噪声,求导后找不到梯度的极大值和极小值

        先用高斯核与原图像卷积进行滤波去噪,再求导就能找到极值点了(费时)?

         改进:利用卷积的交换律和结合律,先算高斯核的导数再算与原图像的卷积(高斯偏导模版

        高斯偏导模版(越黑越负)

        x方向求偏导:衡量y方向差异  

        y方向求偏导:衡量x方向差异

1.5 高斯核的参数

        用高斯偏导核卷积图像就可以得到去噪后的边缘图像

        像素代表方差,方差越大,平滑能力越强

        给出标准差就能生成高斯模版(高斯模版只需要σ和窗宽两个量就可以计算出,而窗宽=2σ+1)

1.6 回顾 高斯平滑核和高斯偏导核

高斯平滑核:用来做平滑的,不会有负数,权值和等于1

高斯偏导核:用来提取边缘信息,会有负数,权值和等于0

二、Canny算法

2.1 Canny算法

用x方向的卷积模版计算一次再用y方向的卷积模版计算一次,求和

        一个阈值,减小宽度

2.2 非极大值抑制

        减小线条宽度

        计算梯度大小,剔除掉梯度小的点,选择合适的边缘点

        抑制后图像 

2.3 双门限法

下巴边没有了??怎么办   双门限

高门限:检测出边缘边

低门限:排除噪声(把有连接的找出来)

2.4 算法步骤

1、高斯偏导(考虑到噪声)滤波器:先对图像进行x、y方向滤波

2、衡量每个点的梯度强度,梯度方向(看有没有比它还大的)

3、非最大化抑制(宽边变成细边)

4、定义两个门限

;