edu.51cto.comedu.51cto.comOpenCV3.1.0–图像处理教程edu.51cto.com讲师:贾志刚E-Mail:bfnh1998@hotmail.com微博:流浪的鱼-GloomyFishedu.51cto.comSobel算子卷积应用-图像边缘提取相关API代码演示edu.51cto.com卷积应用-图像边缘提取edu.51cto.com卷积应用-图像边缘提取边缘是什么–是像素值发生跃迁的地方,是图像的显著特征之一,在图像特征提取、对象检测、模式识别等方面都有重要的作用。如何捕捉/提取边缘–对图像求它的一阶导数delta=f(x)–f(x-1),delta越大,说明像素在X方向变化越大,边缘信号越强,我已经忘记啦,不要担心,用Sobel算子就好!卷积操作!edu.51cto.comSobel算子是离散微分算子(discretedifferentiationoperator),用来计算图像灰度的近似梯度Soble算子功能集合高斯平滑和微分求导又被称为一阶微分算子,求导算子,在水平和垂直两个方向上求导,得到图像X方法与Y方向梯度图像edu.51cto.comSobel算子水平梯度垂直梯度最终图像梯度edu.51cto.comSobel算子求取导数的近似值,kernel=3时不是很准确,OpenCV使用改进版本Scharr函数,算子如下:edu.51cto.comAPI说明cv::Sobelcv::Sobel(InputArraySrc//输入图像OutputArraydst//输出图像,大小与输入图像一致intdepth//输出图像深度.Intdx.//X方向,几阶导数intdy//Y方向,几阶导数.intksize,SOBEL算子kernel大小,必须是1、3、5、7、doublescale=1doubledelta=0intborderType=BORDER_DEFAULT)edu.51cto.comAPI说明cv::Scharrcv::Scharr(InputArraySrc//输入图像OutputArraydst//输出图像,大小与输入图像一致intdepth//输出图像深度.Intdx.//X方向,几阶导数intdy//Y方向,几阶导数.doublescale=1doubledelta=0intborderType=BORDER_DEFAULT)edu.51cto.com其它APIGaussianBlur(src,dst,Size(3,3),0,0,BORDER_DEFAULT);cvtColor(src,gray,COLOR_RGB2GRAY);addWeighted(A,0.5,B,0.5,0,AB);convertScaleAbs(A,B)//计算图像A的像素绝对值,输出到图像Bedu.51cto.com演示代码edu.51cto.comedu.51cto.comThankYou!edu.51cto.com