本周主要工作:
利用边缘检测算子的方法进行边缘检测。
算法实现:
基本原理:
在数学上,利用导数来表示改变的快慢。基于此就可以通过寻找图像的一阶导数的最大值和最小值来检测边界。通常将边界定位在梯度最大的方向。
图像可以看做是二维离散函数,图像梯度就是这个二维离散函数的求导。函数f(x,y)在(x,y)处的梯度为一个向量:
计算出来这个向量的大小:
通常为了提高效率,经常近似表示为:
梯度的方向∠:
在图像这种离散的函数,又可以使用差分来代替梯度。
Sobel算子:
这个算子包含了两组3*3的矩阵,分别是在图像的x 方向和 y方向,这两个卷积核和图像进行卷积,可以得到横向和纵向的亮度差的近似值。
Gx和Gy分别表示了横向和纵向边缘检测的图像。之后可以得到两个方向的公式:
Gx = (-1)*f(x-1, y-1) + 0*f(x,y-1) + 1*f(x+1,y-1)