fpga_feixiang 发表于 2020-6-1 17:41:24

sobel算子

sobel算子主要用于获得数字图像的一阶梯度,常见的应用和物理意义是边缘检测。

原理
算子使用两个33的矩阵(图1)算子使用两个33的矩阵(图1)去和原始图片作卷积,分别得到横向G(x)和纵向G(y)的梯度值,如果梯度值大于某一个阈值,则认为该点为边缘点

Gx方向的相关模板:



Gy方向的相关模板:

这里写图片描述

看了网上的很多资料,都把卷积和相关的概念给弄糊了,书上给的Sobel的模板不是卷积模板,而是相关模板,因为卷积的话要先将模板旋转180度以后再与图像做相关的操作。
所以Sobel的卷积模板是:

Gx=

1

0

-1

2

0

-2

1

0

-1



具体计算如下:

图像的每一个像素的横向及纵向灰度值通过以下公式结合,来计算该点灰度的大小:



通常,为了提高效率使用不开平方的近似值:



然后可用以下公式计算梯度方向:



OpenCV还提供了一个scharr函数,比Sobel算子更为精准,也是3x3的模板。

这里写图片描述

大鹏 发表于 2020-6-2 16:20:01

sobel算子主要用于获得数字图像的一阶梯度,常见的应用和物理意义是边缘检测。

zxopenljx 发表于 2020-11-13 22:36:21

sobel算子sobel算子
页: [1]
查看完整版本: sobel算子