点击此处返回总目录

 

 

这次课是纯粹的理论基础,没有代码实现。如果对原理不感兴趣,只想会用的话,可以跳过。

 

一、sobel算子的理解

 

第一步,水平方向的梯度计算

        计算x方向的梯度,就是用左边的卷积核 与 原始图像 相乘。

9.1 sobel理论基础

 

 

比如,下面的图像。计算P5这一个点的水平方向的梯度(也就是计算从左边到右边有没有边界)。

 

9.1 sobel理论基础

 

其实是用p5这个点右边这一列 减去 左边一列,同时还要注意下系数(因为中间离p5近,所以给了系数2,两边的远,给系数1):

(p3 + 2*p6 + p9) - (p1 + 2*p4 + p7) 

 

如果有边界,则右边减左边的值应该很明显;如果没有边界,那么p5这个点的值就是0。

9.1 sobel理论基础

 

第二步, 垂直方向的梯度计算

 

除了计算水平方向的边界以外,还可以计算垂直方向的边界。

垂直方向的边界用到下面这样的卷积核:

 

         9.1 sobel理论基础

 

比如,计算下面p5这个点在垂直方向上的梯度。

 

9.1 sobel理论基础

 

实际上就是用下面一行减去上面一行。如果相差特别大,说明是边界;如果差很小,说明很接近,不是边界。

 

 

第三步,根据水平方向的梯度和垂直方向的梯度计算sobel算子

有了水平方向和垂直方向的梯度以后,就可以计算两个方向的梯度了:

                                       9.1 sobel理论基础

 

有时候平方不好算,所以可以近似用绝对值相加,得到sobel算子:

 

               9.1 sobel理论基础

 

 

二、sobel算子的计算

 

举例:计算p5这个点的Sobel算子

 

        9.1 sobel理论基础

 

 

 

 

 

 

 

 

 

 

 

 

 

 

相关文章:

  • 2021-08-06
  • 2021-09-23
  • 2021-05-29
  • 2021-04-22
  • 2021-06-26
  • 2021-06-08
  • 2021-12-16
猜你喜欢
  • 2022-02-22
  • 2021-07-31
  • 2021-12-31
  • 2021-12-21
  • 2021-09-17
  • 2021-10-04
  • 2021-05-31
相关资源
相似解决方案