OpenCV学习(4.6) 图像梯度

嚴華  论坛元老 | 2024-6-11 12:29:51 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1016|帖子 1016|积分 3048

1.目标
在本教程中:


  • 你会学到怎样找到图像的梯度,边沿等。
  • 你会学到如下函数:**cv.Sobel()cv.Scharr()cv.Laplacian()** 等。
图像梯度是图像处理中的一个基本概念,它用于测量图像亮度厘革的强度和方向。在数学上,梯度是函数的偏导数,而在图像处理中,梯度通常用于表示图像亮度的厘革率,即图像的边沿
1.Sobel 算子

Sobel算子是一种离散的差分算子,它用于盘算图像亮度的厘革率,即图像的梯度。Sobel算子包含两个卷积核,一个用于盘算水平方向的梯度(Gx​),另一个用于盘算垂直方向的梯度(Gy​)。盘算梯度的公式如下:
Gx ​= ∂x/∂f​ ≈ f(x+1,y)−f(x−1,y)
Gy​ = ∂y/∂f​ ≈ f(x,y+1)−f(x,y−1)
其中,f(x,y) 表示图像在点 (x,y) 的亮度值。盘算出的梯度巨细 G 和方向 θ 可以通过以下公式得到:
G=Gx2+Gy2​​
θ=arctan2(Gy​,Gx​)
2.Scharr算子

Scharr算子是Sobel算子的改进版本,它提供了一种更准确的边沿检测方法。Scharr算子的卷积核权重是根据图像的标准进行调解的,这使得它在盘算梯度时更加准确,尤其是在处理较大标准的图像时。Scharr算子的卷积核如下:

3.Laplacian

Laplacian算子是另一种用于图像处理的微分算子,它用于盘算图像亮度的二阶导数。Laplacian算子可以用来检测图像中的边沿,因为它在边沿处会产生较大的响应。与Sobel和Scharr算子不同,Laplacian算子是各向同性的,这意味着它对图像中的全部方向都有相同的响应。
Laplacian算子通常通过以下卷积核来实现:

这个卷积核盘算的是中央像素与周围像素的差值,从而得到中央像素的Laplacian值。这个值可以用来表示图像在该点的边沿强度。

   有一个问题,就是对图像进行laplacian滤波后,用opencv和用matplib显示出的图像不一样 ,这也是一个需要回答的问题
  
 


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

嚴華

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表