sobel算子是一种常用的边缘检测算子,是一阶的梯度算法。对噪声具有平滑作用,提供较为精确的边缘方向信息,边缘定位精度不够高。当对精度要求不是很高时,是一种较为常用的边缘检测方法。它进行处理的模板如下:
其中,Gx是横向的算子,Gy是纵向的算子。
原图像记为f,则
GX = Gx*f
GY = Gy*f
Gx =-1*f(x-1, y-1) + 0*f(x,y-1) + 1*f(x+1,y-1)+(-2)*f(x-1,y) + 0*f(x,y)+2*f(x+1,y)+(-1)*f(x-1,y+1) + 0*f(x,y+1) + 1*f(x+1,y+1)
Gy =1* f(x-1, y-1) + 2*f(x,y-1)+ 1*f(x+1,y-1)+0*f(x-1,y) 0*f(x,y) + 0*f(x+1,y)+(-1)*f(x-1,y+1) + (-2)*f(x,y+1) + (-1)*f(x+1, y+1)
GX,GY代表利用模板对原图像卷积的结果。
对于原图像中的每一个像素,在3*3的模板中进行上述的卷积,得到GX、GY,则最后该像素的灰度值近似为:
G = |GX|+|GY|
如果G大于某一个阈值,则认定该点为一个边缘点。
上述的处理可以同时进行两个方向的处理,当需要突出图像某一个方向的边缘信息时,也可以只进行其中一个方向的处理。
在ope
OPENCV中的Sobel函数
最新推荐文章于 2024-08-30 17:54:47 发布