一、边缘
1.1 边缘的类型
①实体上的边缘
②深度上的边缘
③符号的边缘
④阴影产生的边缘
不同任务关注的边缘不一样
1.2 提取边缘
突变-求导(求导也是一种卷积)
近似,=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 图像的梯度
梯度方向与边(边缘)垂直
梯度指向信号方向大的地方
梯度值越大,说明这个点是边缘的可能性就越大
eg:
Prewitt:自己左边的值与右边的值相减,衡量自己是不是边缘值
Sobel:先平滑高斯滤波,再边缘提取(对噪声敏感程度更低)
Roberts:是检测135度的线,是检测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、定义两个门限