第二章 边缘检测
边缘:信号突变的地方。能够紧凑描述图片的内容信息
边缘检测的几种类型:
表面不连续 深度不连续 表面颜色不连续 投影不连续
可以根据求导来判断是否为断点(边缘)
x方向(为简便操作 ε=1):
实例:
边缘检测可以用导数得到,导数可以通过卷积核计算得到
因为是两个数进行运算所以得到的高斯核是1*2
梯度向量
梯度方向:指向灰度图变化最大的方向且方向与边垂直
描述图像中一点的梯度是由x方向导数和y方向导数决定
而两个在一起时,就是梯度方向
梯度方向与边之间的关系,也就是夹角
梯度幅值(Gradient Magnitude)
图像中某个点的强度(变化越大说明最有可能是边)
Prewitt算子
优点:对于单个噪声点更稳定,使得总体呈现,对于噪声使其不太突兀
Sobel算子
Sobel算子先进行高斯操作,即:
先平滑处理后,再进行边缘处理。效果是对噪声点敏感度低一些
Roberts算子
无论什么算子,再进行边缘检测时,把值为0方框连接起来代表的是边
例:Roberts算子:
得到图像边缘流程
1.首先进行平滑操作。寻找峰值(边缘)
滤波之后结果出现部分没有幅值,原因就是没有对图像首先进行填充,结果才能与原图规格相同
2.再对卷积之后的结果求导
怎么样一步就能得出结果,从而达到步骤简化:
先算出高斯模板的导数,然后只需要对图像进行一次处理即可。也就是利用高斯偏导模板
高斯核求导:
通过增大高斯偏导核的方差就可以让图像呈现不同的结果:
标准差越小细节越明显,越大时其轮廓越明显
高斯平滑核与高斯偏导核区别
高斯平滑核(平滑):
1.去除高频噪声
2.没有负数
3.加权求和值为1
高斯偏导核(边缘提取):
1.求得图像边缘
2.肯定有负数
3.加权求和值为0(平坦区域才没有响应值)
4.某点越值越高与周围点差异越大(可能是边也有可能是噪声)
Canny边缘检测(The Canny edge detector)
先用x卷积模板进行滤波,再用y卷积模板进行一次滤波,之后代入公式:
然后设置一个门限值(thresholding),如果某点的门限低于设置门限值就过滤掉
我们想要的值在门限值之上,也就是有些轮廓过宽,怎么进行处理
非极大值抑制(Non-maximum suppression)
也就是沿梯度方向比较出最大的梯度值的点
例如q的梯度值比r小那么q就被滤去 而r点的值就是需要附近点加权求和得到
非极大值抑制之后效果图:
观察图片可以知道人物下巴由于设置门限值过高,被过滤掉。如果门限值过低噪声就会出现
双门限法
先提高门限,把粗犷的边检测出来,再降低门限
与墙边缘有连接关系的边才有可能是有意义的边
Canny算子操作步骤:
1.高斯偏导滤波器(考虑噪声)
2.每个点的梯度强度(看是否是边缘)和梯度方向(看上下两个方向有没有比其大的)
3.非最大化抑制(宽变细:宽因为变化是缓慢的)
4.双门限(高门限看边,低门限把与边有联系的找回)