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企服之家,中国第一个企服评测及商务社交产业平台。 |