Sobel边缘检测将高斯滤波和微分结合起来执行图像卷积运算,其结果具有一定的抗噪性。cv2.Sobel()函数用于实现Sobel边缘检测,其基本格式如下。
dst=cv2.Sobel(src,depth,dx,dy[,ksize[,scale[,delta[,borderType]]]])
参数说明如下。
dst表示边缘检测结果图像。
src为原图像。
depth为目标图像的深度。
dx为导数x的阶数。
dy为导数y的阶数。
ksize为扩展的Sobel内核的大小,必须是1、3、5或7。
scale为计算导数的可选比例因子。
delta为添加到边缘检测结果中的可选增量值。
borderType为边界值类型。
示例代码如下。
test5-2.py:Sobel边缘检测
import cv2
img=cv2.imread('bee.jpg') #读取图像
cv2.imshow('original',img) #显示原图像
img2=cv2.Sobel(img,cv2.CV_8U,0,1) #边缘检测
cv2.imshow('Sobel',img2) #显示结果