`

sobel()函数

 
阅读更多

C++: void Sobel (
InputArray src,//输入图
 OutputArray dst,//输出图
 int ddepth,//输出图像的深度
 int dx,
 int dy,
 int ksize=3,
 double scale=1,
 double delta=0,
 int borderType=BORDER_DEFAULT );


第一个参数,InputArray 类型的src,为输入图像,填Mat类型即可。

第二个参数,OutputArray类型的dst,即目标图像,函数的输出参数,需要和源图片有一样的尺寸和类型。

第三个参数,int类型的ddepth,输出图像的深度,支持如下src.depth()和ddepth的组合:

                若src.depth() = CV_8U, 取ddepth =-1/CV_16S/CV_32F/CV_64F

                若src.depth() = CV_16U/CV_16S, 取ddepth =-1/CV_32F/CV_64F

                若src.depth() = CV_32F, 取ddepth =-1/CV_32F/CV_64F

                若src.depth() = CV_64F, 取ddepth = -1/CV_64F
第四个参数,int类型dx,x 方向上的差分阶数。

第五个参数,int类型dy,y方向上的差分阶数。

第六个参数,int类型ksize,有默认值3,表示Sobel核的大小;必须取1,3,5或7。

第七个参数,double类型的scale,计算导数值时可选的缩放因子,默认值是1,表示默认情况下是没有应用缩放的。
                   我们可以在文档中查阅getDerivKernels的相关介绍,来得到这个参数的更多信息。

第八个参数,double类型的delta,表示在结果存入目标图(第二个参数dst)之前可选的delta值,有默认值0。

第九个参数, int类型的borderType,我们的老朋友了(万年是最后一个参数),边界模式,默认值为BORDER_DEFAULT。
这个参数可以在官方文档中borderInterpolate处得到更详细的信息。

 

一般情况下,都是用ksize x ksize内核来计算导数的。
然而,有一种特殊情况——当ksize为1时,往往会使用3 x 1或者1 x 3的内核。
且这种情况下,并没有进行高斯平滑操作。

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    sobel函数边缘检测_边缘检测_边缘检测;sobel算子_

    在给定的标题“sobel函数边缘检测_边缘检测_边缘检测;sobel算子_”中,关键词“sobel函数”和“sobel算子”表明我们将探讨的是基于Sobel算子的边缘检测方法。 Sobel算子是一种在一维空间中定义的微分算子,被广泛...

    OpenCV实现sobel函数用法示例(C++实现).zip

    总结来说,OpenCV的Sobel函数是一个强大的工具,用于计算图像的梯度信息,进而帮助我们检测图像的边缘。通过理解和掌握Sobel算子及其在OpenCV中的应用,我们可以更好地进行图像分析和处理。本示例提供的C++代码是一...

    C++OpenCV3源代码sobel函数用法

    在本篇文章中,我们将深入探讨如何使用C++与OpenCV3中的Sobel算子进行边缘检测,特别是通过分析一个具体的示例代码来了解`sobel`函数的使用方法。此外,我们还会详细介绍Sobel算子的基本原理、参数设置以及在图像...

    Sobel边缘检测matlab实现

    3. **应用Sobel算子**:使用`sobel`函数计算图像的水平和垂直梯度。 ```matlab Gx = sobel(image_smoothed, 'horizontal'); Gy = sobel(image_smoothed, 'vertical'); ``` 4. **计算梯度幅度和方向**:组合水平和...

    Sobel边缘检测源代码Opencv+MFC

    可以使用CStatic控件来显示图像,并在按钮点击事件中调用OpenCV的Sobel函数进行处理。处理后的图像可以再次显示在CStatic控件中。 此外,项目中可能还包括对文件I/O的支持,用于加载和保存图像。这通常涉及到`cv::...

    sobel-bianyuanjiance.rar_edge sobel_sobel_sobel算子_边缘检测

    这段代码展示了如何使用OpenCV的Sobel函数计算图像的水平和垂直梯度,然后计算梯度幅度并进行阈值处理以得到边缘图像。最后,代码会同时显示原始图像和边缘检测结果。 以上就是关于Sobel算子边缘检测的基本介绍及其...

    sobel-opencv.rar_opencv sobel_opencv 边缘检测_sobelopencv_soblena

    **OpenCV中的Sobel函数** 在OpenCV中,可以使用`cv::Sobel()`函数来应用Sobel算子。该函数的基本语法如下: ```cpp cv::Mat Sobel(const cv::Mat& src, cv::Mat& dst, int ddepth, int dx, int dy, int ksize, ...

    边缘提取函数_sobel_边缘提取函数_canny_

    在给定的压缩包文件中,包含了几种常见的边缘提取算法的MATLAB实现,包括Sobel算子、Canny算子、Prewitt算子、Robert算子以及Marr-Hildreth边缘检测。接下来,我们将深入探讨这些边缘提取函数的工作原理和应用。 1....

    OPENCV函数学习手册.pdf

    比如,Sobel函数可以用来计算图像的一阶、二阶或混合图像差分。它是一个典型的图像平滑和微分操作结合的例子,通常用于边缘检测。Sobel算子通过使用可分离的内核来计算差分,其核的大小由参数aperture_size指定,...

    C++实现图像处理Sobel边缘检测算子代码

    此外,OpenCV还提供了内置的Sobel函数,如`cv::Sobel`,可以直接调用,简化代码实现。 总的来说,C++实现Sobel边缘检测算子涉及了图像处理的基本概念,包括梯度计算、模板匹配以及阈值处理。理解并实践这部分代码有...

    AM5728/AM57XX openCV使用opencl案例一(Sobel算法)

    在OpenCV中,Sobel函数可以实现这一算法,其可以通过指定不同的参数来处理图像中的水平或垂直边缘。 在OpenCV 3.1版本中,引入了一个新的透明API(transparent API,简称T-API),它允许开发者使用OpenCL进行加速...

    imx6-opencv-demo4.tar.gz

    这个压缩包包含了名为“demo4”的一个子文件,很可能是一个源代码或者可执行文件,用于演示如何在IMX6平台上利用OpenCV库进行图像处理,特别是Sobel函数的应用。 IMX6是NXP(恩智浦)公司生产的一款基于ARM Cortex-...

    学习笔记(09):Python+OpenCV计算机视觉-sobel算子及其函数使用

    sobel算子 dst=cv2.Sobel(src,ddepth,dx,dy,[ksize]) ddepth—处理结果图像深度,可设为-1(与原图像深度一致,设为-1边界值会丢失),此处为了保留边界,设置为cv2.cv_64F,再cv2.convertScaleAbs 转化为...

    dsp.rar_DSP 图像_dsp 边缘检测_dsp图像_matlab 索伯尔_sobel

    3. 应用索伯尔算子:使用sobel函数或者手动定义3x3的卷积核进行卷积操作。 4. 计算梯度和边缘:根据计算出的水平和垂直梯度,计算总梯度并设定阈值,以确定哪些像素点是边缘。 5. 显示结果:使用imshow函数展示原始...

    OpenCV之sobel算子详解

    原理 sobel算子是一种计算不同方向上梯度的工具。原理是使用卷积核对图像进行处理。...Sobel函数 opencv中提供给我们封装好的Sobel算子函数,不需要我们一一计算。 其构造函数如下: cv2.Sobel(src

    Sobel.zip_sobel_sobel算子 matlab

    在MATLAB中,我们可以利用内置函数`imfilter`或自定义函数实现Sobel运算。文件"Sobel.m"很可能是实现了Sobel边缘检测的MATLAB脚本。它可能包括以下步骤: 1. 读取图像:首先,使用`imread`函数读取图像文件"1.jpg"。...

    学习笔记(09):Python+OpenCV计算机视觉-sobel算子及其函数使用 计算机视觉.pdf

    计算机视觉-Python+OpenCV Sobel算子及其函数使用 计算机视觉是人工智能领域的一个重要分支,涉及到图像处理、目标检测、对象识别等多个方面。在计算机视觉中,图像处理是一个核心步骤,Sobel算子是一种常用的图像...

    OpenCV_参考手册

    例如,cvSobel函数使用Sobel算子来计算一阶到三阶的图像差分,可以有效地检测边缘。Sobel算子结合了高斯平滑和微分,对于噪声有一定的抗干扰能力。cvLaplace函数则用于计算图像的拉普拉斯变换,这对于检测图像中的...

    Visual C++数字图像处理典型算法及实现_源码

    Sobel算子在OpenCV中用Sobel函数实现。 4. 边缘检测: - Canny边缘检测:一种自适应阈值的边缘检测算法,OpenCV中的Canny函数提供实现。 - Hough变换:用于检测直线、圆等特定形状,OpenCV的HoughLines和...

    sobel算子的matlab实现

    在MATLAB中实现Sobel算子,我们可以利用内置的图像处理函数或手动编写代码。由于您提供的描述中提到是"自己用MATLAB编的sobel算子",这通常涉及到对图像进行卷积操作。MATLAB提供了`imfilter`函数用于滤波操作,可以...

Global site tag (gtag.js) - Google Analytics