美文网首页
图像梯度之Sobel理论基础

图像梯度之Sobel理论基础

作者: 大龙10 | 来源:发表于2021-10-30 06:08 被阅读0次

《OpenCV轻松入门:面向Python》读书笔记
作者:李立宗
出版社:电子工业出版社
出版时间:2019-05

第9章 图像梯度

9.1 Sobel理论基础

  Sobel算子是一种离散的微分算子,该算子结合了高斯平滑和微分求导运算。该算子利用局部差分寻找边缘,计算所得的是一个梯度的近似值。
  Sobel算子如图9-2所示。


图9-2 Sobel算子示例
  • 需要说明的是,滤波器通常是指由一幅图像根据像素点(x, y)临近的区域计算得到另外一幅新图像的算法。
  • 因此,滤波器是由邻域及预定义的操作构成的。
  • 滤波器规定了滤波时所采用的形状以及该区域内像素值的组成规律。
  • 滤波器也被称为“掩模”、“核”、“模板”、“窗口”、“算子”等。一般信号领域将其称为“滤波器”,数学领域将其称为“核”。

说明:

  • 本章中出现的滤波器多数为“线性滤波器”
  • 滤波的目标像素点的值等于原始像素值及其周围像素值的加权和。
  • 这种基于线性核的滤波,就是我们所熟悉的卷积。
  • 在本章中,为了方便说明,直接使用“算子”来表示各种算子所使用的滤波器。
    例如,本章中所说的“Sobel算子”通常是指Sobel滤波器。

对Sobel算子的计算的讨论:

9.1.1 计算水平方向偏导数的近似值

将Sobel算子与原始图像src进行卷积计算,可以计算水平方向上的像素值变化情况。例如,当Sobel算子的大小为3×3时,水平方向偏导数Gx的计算方式为:



上式中,src是原始图像,假设其中有9个像素点,如图9-3所示。


图9-3 水平方向偏导数计算说明

如果要计算像素点P5的水平方向偏导数P5x,则需要利用Sobel算子及P5邻域点,所使用的公式为:

P5x=(P3-P1) + 2·(P6-P4) + (P9-P7)

即用像素点P5右侧像素点的像素值减去其左侧像素点的像素值。其中,中间像素点(P4和P6)距离像素点P5较近,其像素值差值的权重为2;其余差值的权重为1。

9.1.2 计算垂直方向偏导数的近似值

将Sobel算子与原始图像src进行卷积计算,可以计算垂直方向上的变化情况。例如,当Sobel算子的大小为3×3时,垂直方向偏导数Gy的计算方式为:



上式中,src是原始图像,假设其中有9个像素点,如图9-4所示。


图9-4 垂直方向偏导数计算说明

如果要计算像素点P5的垂直方向偏导数P5y,则需要利用Sobel算子及P5邻域点,所使用的公式为:

P5y=(P7-P1) + 2·(P8-P2) + (P9-P3)

式中,使用像素点P5下一行像素点的像素值减去上一行像素点的像素值。其中,中间像素点(P2和P8)距离像素点P5较近,其像素值差值的权重为2;其余差值的权重为1。

相关文章

网友评论

      本文标题:图像梯度之Sobel理论基础

      本文链接:https://www.haomeiwen.com/subject/nrsraltx.html