sobel算子_OpenCV 学习:4 Sobel算子

bdde53b64d4f1a9ccb462775ad3164e4.png

1 背景介绍

图像底层的处理对象,比如图像的噪点、边缘、直线、圆、特征点等为目的。那么本章主要解决的问题是如何提取图形中的边缘?是我们关心中的重点。那么,其数学原理是一阶离散差分的形式。故我们知道把一个图像处理转变为灰度图像,就是处理这张图像的每个像素灰度的变化,那么在边缘处,灰度变化比较明显(对应着其梯度或者灰度矢量的变化)。

2 Sobel算子的形式

  • 图像处理绝大数在卷积操作,Opencv 会提供一个 或者 或者其他大小的 kernel,也就是卷积核。对于卷积核操作,首先我们要明白卷积原理。

卷积公式:

我擦,看到他的定义瞬间懵掉了。那么他到底解释的什么?我给出引用其他小伙伴的卷积解释卷积到底是什么?我还是一脸雾水,当我看到以下证明时,我才完全明白其来源和含义:

设二维连续型随机变量

的概率密度函数为 ,则随机变量 的概率密度​ 的求解过程为:

那么:

则:

其实,卷积函数就是二阶积分一种特殊情况的一元积分形式。

  • Sobel 卷积算子, 轴方向的变化和 轴方向的变化

dea98aae6181ad565a5479c409e3693f.png

看到

你会疑问为什么 Sobel 算子会长成这个样子?要解决这一个疑问,首先要知道,一阶差分方程形式为:

在求 方向上变化, 在求 方向上变化。至于为什么会出现数字2,我的思考是当前像素位置 上类似于高斯权重的分配。左右变换大为 ,上下变换大为

为原始图像,那么在 方向上的卷积为:

那么在

方向上的卷积为:

具体计算方式如下:

其中

表示图像 点的灰度值。

那么,改点的灰度梯度为:

如果梯度

大于某一阀值则认为该点 为边缘点。


Sobel算子根据像素点上下、左右邻点灰度加权差,在边缘处达到极值这一现象检测边缘。对噪声具有平滑作用,提供较为精确的边缘方向信息,边缘定位精度不够高。当对精度要求不是很高时,是一种较为常用的边缘检测方法。

3 API 函数介绍

void cv::Sobel( InputArray _src, OutputArray _dst, int ddepth, int dx, int dy,int ksize, double scale, double delta, int borderType )第一个参数:_src 输入的源影像 第二个参数:_dst输出的目标影像,大小和通道数与源影像相同。深度由ddepth来决定第三个参数:目标影像的深度;当源源影像的深度为CV_8U时,一般ddepth选择为CV_16S第四个参数:x方向上的导数因子第五个参数:Y方向上的导数因子第六个参数:如果ksize<0的时候,那么使用scharr内核过滤因子。scharr的内核过滤因子大小为3。dx大于等于0,dy大于等于0,并且dx+dy==1
#include 
#include 
#include 
#include 
#include using namespace cv;
using namespace std;int main(int argc, char **argv)
{Mat image  = imread("/Users/cc/Desktop/OpenCV/demo/MyOpenCvDemo/MyDemo/swk.jpeg");if (image.empty()){cout << "could not find the image resource ..." << endl;return -1;}Mat grayImg;cvtColor(image, grayImg, COLOR_BGR2GRAY);Mat sobelx;Sobel(grayImg, sobelx, CV_32F, 1, 0);double minVal, maxVal;minMaxLoc(sobelx, &minVal, &maxVal);Mat draw;sobelx.convertTo(draw, CV_8U, 255.0 / (maxVal - minVal), -minVal * 255.0 / (maxVal - minVal));namedWindow("My Image", CV_WINDOW_AUTOSIZE);imshow("My Image", draw);waitKey(0);return 0;
}

4 运行结果

8070e857f3ddd26ab71568479ee0eead.png


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部